显示意图和隐式意图
来源:互联网 发布:赛尔网络销售 编辑:程序博客网 时间:2024/04/28 16:13
激活组件
显示意图:一般用在同一个应用程序中组件的相互激活
Intent intent = new Inten(this,Demo2Activity.class);
startActivity(intent);
或:
Intent intent = new Intent();
//intent.setClass(this,Demo2Activity.class);
intent.setClassName("cn.itcast.demoactivity","cn.itcast.demoactivity.Demo2Activity");
//intent.setComponent(new ComponentName(this,"cn.itcast.demoactivity.Demo2Activity"));
startActivity(intent);
隐式意图:用于不同应用程序之间组件的激活
操作系统要根据action data mimetype category进行一个查询
隐式意图的效率要比显示意图的效率低一点,但可以降低耦合(包名甚至类名更改了,组件仍然可以激活)
首先在清单文件中对应的activity节点下配置
<intent-filter>
<action android:name="cn.itcast.demoactivity.haha"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
Intent intent = new Intent();
intent.setAction("cn.itcast.demoactivity.haha");
intent.addCategory("android.intent.category.DEFAULT");
startActivity(intent);
说明:
action下的name可自定义
category配置默认为"android.intent.category.DEFAULT"
只有清单文件中的配置和代码中的配置一致时才会激活这个zactivity
一个activity可以配置多个intent-filter
还可以在intent-filter下指定data
<data android:scheme="itcast" android:host="cn.itcast"
android:path="/gaga" android:mimeType="audio/mpeg"/>
intent.setData(Uri.parse("itcast://cn.itcast/gaga"),"audio/mpeg");
隐式意图关注的几个要点:
1.动作
2.data
3.Category额外的附加参数
打<动作>3瓶酱油<data>
吃饱了撑着没事干<Category> 打3瓶酱油
intent在不同activity里面传递数据:
String name = "nihao"
Intent intent = new Intent(this,Demo2Activity.class);
intent.putExtra("name",name);
startActivity(intent);
在被激活的Demo2Activity中
//获取激活我的意图
Intent intent = getIntent();
String name = intent.getStringExtra("name");
Intent 还可传递对象
实现Serialirable或者Parcelable接口
前者:序列化到文件中(速度较慢)
后者:序列化公共的内存空间里
利用bundle批量数据传递
Bundle bundle = new Bundle();
bundle.putString("name",name);
intent.putExtras();
经典实用场景:给5556发“nihao haha”短信
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("sms:5556"));
intent.putExtra("sms_body","nihao haha");
startActivity(intent)
说明:查看系统源代码发短信:ComposeMessageActivity
可知intent.getStringExtra("sms_body")
- Android 隐式意图和显示意图
- 显示意图和隐式意图
- Android 隐式意图和显示意图
- intent显示意图和隐式意图
- Intent显示意图和隐式意图
- 隐式意图和显示意图
- 显示意图和隐式意图
- Intent--显示意图和隐式意图
- Intent--显示意图和隐式意图
- 详解显示意图和隐式意图
- android Intent (隐式意图和显示意图)
- android intent 隐式意图和显示意图(activity跳转)
- android intent 隐式意图和显示意图(activity跳转)
- Intent中显示意图和隐式意图的用法
- Android 显示意图和隐式意图的区别
- android Intent (隐式意图和显示意图)
- Android 显示意图和隐式意图的区别
- 5.3Intent (隐式意图和显示意图)
- 2013年6月4日 23:18:58
- 杭电1062
- Android UI开发第二篇——多级列表(ExpandableListView)
- ARC和非ARC项目共存方法
- 白话REST-识别真假REST
- 显示意图和隐式意图
- Study notes for Feature Engineering
- linux c 信号量编程
- 【UNUX】进程与线程
- 计算机领域世界顶尖学术期刊与会议论文
- sql update 编号前增加数字前缀等 根据相同字段更新不同字段
- 如何在ARC项目中使用非ARC的开源框架
- AndroidManifest.xml解析(二)
- 产品分析报告如何写