基础知识记录:intent解析
来源:互联网 发布:2016qq悄悄话破解软件 编辑:程序博客网 时间:2024/06/05 11:52
intent:Intent是系统各组件之间进行数据传递的数据负载者。当我们需要做一个调用动作,我们就可以通过Intent告诉Android系统来完成这个过程,Intent就是调用通知的一种操作。
Intent有几个重要的属性,下面我们将会逐一介绍:
1.action,要执行的动作
public void gotoTargetActivity(View view) { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); startActivity(intent); }
2.data和extras,即执行动作要操作的数据和传递到目标的附加信息
/** * 打开指定网页 * @param view */ public void invokeWebBrowser(View view) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.google.com.hk")); startActivity(intent); } /** * 进行关键字搜索 * @param view */ public void invokeWebSearch(View view) { Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, "android"); //关键字 startActivity(intent);
其中可对data进行自定义:
在目标<data/>
标签中包含了以下几种子元素,他们定义了url的匹配规则:
android:scheme 匹配url中的前缀,除了“http”、“https”、“tel”…之外,我们可以定义自己的前缀
android:host 匹配url中的主机名部分,如“google.com”,如果定义为“*”则表示任意主机名
android:port 匹配url中的端口
android:path 匹配url中的路径
android:pathPrefix,表示路径前缀。
<data android:scheme="scott" android:host="com.ssss.intent.data" android:port="7788" android:path="/target"/>
当使用extras进行数据传输,其中还涉及到了Bundle对象。创建一个Bundle实例,然后将具体的参数信息放置到Bundle实例中,然后intent指定这个Bundle对象。
public void gotoTargetActivity(View view) { Intent intent = new Intent("com.ssss.intent.action.TARGET"); Bundle bundle = new Bundle(); bundle.putInt("id", 0); bundle.putString("name", "ssss"); intent.putExtras(bundle); startActivity(intent); }
然后再使用intent获取到Bundle对象,取出对象中的数据。
Bundle bundle = intent.getExtras(); int id = bundle.getInt("id"); String name = bundle.getString("name");
3.category,要执行动作的目标所具有的特质或行为归类
4.type:要执行动作的目标Activity所能处理的MIME数据类型
<data android:mimeType="image/*" /> //图片
5.component,目标组件的包或类名称
可进行app内部,也可以再app之间进行intent跳转与传输数据。
需要注意的是,如果我们在Intent中指定了component属性,系统将不会再对action、data/type、category进行匹配。
- 基础知识记录:intent解析
- 【Android基础知识】Intent和Intent Filter详细解析
- Intent基础知识
- Intent基础知识
- android学习记录(五)显式Intent与隐式Intent的功能与使用方法解析。
- intent 解析
- Intent 解析
- Intent 解析
- Intent解析
- Intent 解析
- Android 基础知识之Intent
- 基础知识:六、Intent
- Android基础知识一(Intent)
- 记录:Intent、Intent过滤器和通用Intent
- Intent 和 Intent Filter解析
- 【intent】确定Intent能否解析
- Intent详细记录
- Android 基础知识 - Intent & 屏幕显示
- Python批量打开文件以及获取文件名、目录及路径
- Zookeeper集群环境搭建实践
- 设计模式——工厂模式之工厂方法
- mac下安装pyaudio
- 50以内奇数的和
- 基础知识记录:intent解析
- 2048-控制台版本
- sql group by,order by
- 只执行一次的装饰器
- javascript笔记(六)
- 尚学堂百战程序员1573题 答案 第三章
- STM32 485 调试
- 远场(far-field)语音识别的主流技术有哪些
- 【1】稀疏表示与匹配追踪