您的位置:首页 > 移动开发 > Android开发

Android无所不能的Intent

2016-03-11 09:44 627 查看

四大组件的桥梁

①启动(跳转)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 连接已经被断开。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: