Android中Intent的几种使用方法

Intent不仅用于应用程序间的交互,大部分时候还是用于应用间Activity/Service之间的交互,例如启动一个新的Activity等。本文简单总结一些关于Intent的使用方法。

1、启动一个新的Activity

这个非常简单,通过实例化一个Intent对象,指明需要启动目标Activity即可,如下:

Intent it1 = new Intent(this, Main2Activity.class);
                startActivity(it1);
               
2、Activity间传值

(1)直接传值:

        Intent it2 = new Intent(this, Main2Activity.class);
        it2.putExtra("team", "地表最强战队");
        it2.putExtra("name", "周杰伦");
        startActivity(it2);
接收:
        Intent it_get = getIntent();
        team = it_get.getStringExtra("team");
        name = it_get.getStringExtra("name");


(2)捆绑传值,使用Bundle:
        Intent it2 = new Intent(this, Main2Activity.class);
        Bundle bd = new Bundle();
        bd.putString("team", "地表最强战队");
        bd.putString("name", "周杰伦");
        it2.putExtras(bd);
        startActivity(it2);
接收:
        Intent it_get = getIntent();
        Bundle bd_get = it_get.getExtras();
        team2 = bd_get.getString("team");
        name2 = bd_get.getString("name");
这种方法的好处在于:如果有三个Activity,A、B、C,A需要先传值给B,B再传给C,如果使用是直接传值,那么B需要先将A传过来的值先取出来,再重新一个个put传到C,代码出现不必要重复,增加了劳动力。如果使用Bundle,B只需要 Bundle bd_get = it_get.getExtras();  ,就可以直接把 bd_get直接传给C了,很方便。


3、启动应用与服务

通过Intent还可以启动其它应用以及服务,比如

打开网页:

<span style="white-space:pre">	</span>Uri uri = Uri.parse("http://www.hao123.com");
        Intent intent  = new Intent(Intent.ACTION_VIEW,uri);
        startActivity(intent);
启动拨号:
<span style="font-size:12px;"><span style="white-space:pre">	</span>Uri uri = Uri.parse("tel:112");
        Intent intent = new Intent(Intent.ACTION_DIAL, uri);
        startActivity(intent);</span>
等等。


(4)启动Activity并带回调方法

这个有大牛写的很好:

http://www.cnblogs.com/linjiqin/archive/2011/06/03/2071956.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值