Android无所不能的Intent

四大组件的桥梁


①启动(跳转)Activity:

假设要从B跳转到A

方法一:
直接在B中oncreate中:

Intent i=new Intent(B.this,A.class);
startActivity(i);

方法二:
(1)配置AndroidManifest.xml:

<activity android:name="com.example.settingtest.A" >
            <intent-filter>
                <action android:name="SICT" />
            </intent-filter>
 </activity>

(2)在B中oncreate中:

Intent i = new Intent();
i.setAction("SICT");
startActivity(i);

②在activity间传递数据:

拿上面例子的第一个示范:

B类放入数据:

Intent i = new Intent(B.this, A.class);
Bundle bundle = new Bundle();
//Bundle以键值对的方式存储多行数据
bundle.putString("z", "z");
bundle.putString("w", "w");
i.putExtra("zz", bundle);
//然后将包装好的Bundle放入到Intent中
i.putExtra("z", "z");
//如果数据只有一对的话,可以直接放入,不经过Bundle包装
startActivity(i);

A类取出数据:

Intent i = getIntent();
//获取Intent对象
Bundle bundle = i.getExtras();
//获取Intent中绑定的Bundler对象
String s = i.getStringExtra("z");
//获取Intent中绑定的键为z的值,这是字符串类型
boolean b = i.getBooleanExtra("w", false);
//获取Intent中绑定的键为w的值,这是布尔值类型,默认为false

③启动Service:与启动Activity相仿,区别在于将方法一中的startActivity改成startService

 具体请参考博客:http://blog.csdn.net/zhengyikuangge/article/details/50719430

④启动广播:与启动Activity相仿,区别在于将方法一中的startActivity改成sendBroadcast

⑤调用手机接口(例如打电话、发短信):

Intent intent=new Intent();
Uri uri=Uri.parse("tel:17853100900");
// 不要乱试哟,这可是我的手机号~~
intent.setAction(Intent.ACTION_DIAL);
//设置打电话的Action
intent.setData(uri);
startActivity(intent);

执行该代码就可以直接给17853100900打电话了

实际上就是标准的ACTION东西的原因,可以去网上查一下”标准ACTION”


分享(部分ACTION名字):
String STATISTICS_REPORT_ACTION 广播:要求 receivers 报告自己的统计信息。
String STATISTICS_STATE_CHANGED_ACTION 广播:统计信息服务的状态已经改变。
String SYNC_ACTION 动作:执行数据同步。
String TAB_CATEGORY 类别:这个 activity 应该在 TabActivity 中作为一个 tab 使用。
String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。
String TEST_CATEGORY 类别:作为测试目的使用,不是正常的用户体验的一部分。
String TIMEZONE_CHANGED_ACTION 广播:时区已经改变。
String TIME_CHANGED_ACTION 广播:时间已经改变(重新设置)。
String TIME_TICK_ACTION 广播:当前时间已经变化(正常的时间流逝)。
String UMS_CONNECTED_ACTION 广播:设备进入 USB 大容量存储模式。
String UMS_DISCONNECTED_ACTION 广播:设备从 USB 大容量存储模式退出。
String UNIT_TEST_CATEGORY 类别:应该被用作单元测试(通过 test harness 运行)。
String VIEW_ACTION 动作:向用户显示数据。
String WALLPAPER_CATEGORY 类别:这个 activity 能过为设备设置墙纸。
String WALLPAPER_CHANGED_ACTION 广播:系统的墙纸已经改变。
String WALLPAPER_SETTINGS_ACTION 动作:显示选择墙纸的设置界面。输入:无。
String WEB_SEARCH_ACTION 动作:执行 web 搜索。
String XMPP_CONNECTED_ACTION 广播:XMPP 连接已经被建立。
String XMPP_DISCONNECTED_ACTION 广播:XMPP 连接已经被断开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值