Android不同的Activity怎么联系

来源:互联网 发布:中星睿典软件注册码 编辑:程序博客网 时间:2024/05/09 00:54

这里讲一下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);

原创粉丝点击