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 连接已经被断开。
相关文章推荐
- Android内容提供者ContentProvider用法实例分析
- ADT安装后没有图标Android SDK Manager图标
- android: Android Notification
- Android OpenGL 播放视频学习
- android跳转登陆界面
- Android 国际化问题
- Android 国际化问题
- Android-Gallery实现的电影排片表
- android 换肤功能的实现
- 让Qt应用程序跑在Android上
- Android Touch事件传递机制解析
- 设计模式_原型模式
- 原创记忆小游戏-Android增强版
- Android Studio1.4上使用butterknife zelezny
- 调用android方法,出现版本太低解决方法
- Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解
- 最新Android & iOS设计尺寸规范
- 欢迎使用CSDN-markdown编辑器
- 关于android设备管理器的一些分析
- android进程间通信