四大组件的桥梁
①启动(跳转)Activity:
假设要从B跳转到A
方法一:
直接在B中oncreate中:
Intent i=new Intent(B.this,A.class);
startActivity(i);
- 1
方法二:
(1)配置AndroidManifest.xml:
<activity android:name="com.example.settingtest.A" >
<intent-filter>
<action android:name="SICT" />
</intent-filter>
</activity>
- 1
(2)在B中oncreate中:
Intent i = new Intent();
i.setAction("SICT");
startActivity(i);
- 1
②在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);
- 1
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
- 1
③启动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);
- 1
执行该代码就可以直接给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 连接已经被断开。