这里讲一下intent怎么来在不同的Activity之间沟通。
1. startActivity(new Intent("com.xxx.sss.MyActivity"));
这句话很好理解。
2. startActivityForResult()
看名字就知道,从activity1 去了2之后,2可以返回结果给1.
首先,你声明一个code,注意,如果是-1,就和上面那个没啥区别了。
int RESULT_CODE = 1;
startActivityForResult(new Intent("com.xxx.MyActivity1"),RESULT_CODE);
然后写一个方法来接受返回值。
public void onActivityResylt(int requestCode,int resultCode, Intent data){
if(requestCode == REQUEST_CODE){
if(resultCode == RESULT_OK){
Toast,.makeText(this, data.getData().toString(), Toast.LENGTH_SHORT).show();
}
}
}
在Activity2里,这么写。
Intent data = new Intent();
data.setData("Value here");
setReuslt(RESULT_OK,data);
大功告成。
多说几句,怎么调用系统程序,比如调用拨号键盘,调用浏览器。
Intent i = new Intent(android,content.Intent.ACTION_VIEW);
Uri.parse("http://www.google.com.sg");
//Uri.parse("content://contacts/people");
startActivity(i);
Intent i = new Intent(android,content.Intent.ACTION_VIEW);
Uri.parse(geo :37.827550, -122.481670");
startActivity(i);
Intent i = new Intent(android,content.Intent.ACTION_DIAL);
//Uri.parse("tel:+862890000001");
startActivity(i);