Android中的显示Intent和隐式Intent
Posted NoBugAnymore
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的显示Intent和隐式Intent相关的知识,希望对你有一定的参考价值。
1.显示Intent
在onclick方法中
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
2.隐式Intent
隐式Intent不明确指出我们要启动哪一个活动,而是指定一系列更为抽象的action和category等信息,然后交由系统去分析这个intent,并帮我们找到合适的Intent去启动
通过标签下配置的内容,指定当前活动能够响应的action和category。
在androidManifest.xml添加如下代码
//包名
然后在FirstActivity中点击事件实现:
Intent intent=new Intent("com.example.activitytext.ACTION_START");
intent.addCategory("com.example.activitytext.MY_CATEGORY");
startActivity(intent);
会看到错误信息提醒我们,没有活动可以响应我们的Intent。
这是因为我们新增了一个category而配置文件并没有声明可以响应这个category。
故只需在配置文件中加入
即可
隐式Intent其他用法
1.可以通过点击事件进入到其他浏览器中:例如
onclick()方法中写
Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));//通过Uri.parse()方法将一个网址解析成一个Uri对象,在调用Intent的setData()方法将这个Uri对象传递进去。
startActivity(intent);
我们可以在中配置标签,用于更精确地指定档期那活动能够响应声明数据类型
android:scheme.用于指定数据的协议部分:如http部分
android:host用于指定数据的主机名部分:如www.baidu.com部分
android:port用于指定数据打端口部分,一般紧随在主机名之后
android:path用于指定住居民和端口之后的部分,如一段网址中跟在域名之后的内容。
android:mineType用于制定可以处理的数据类型,允许使用通配符的方式进行指定。
只有标签重点内容和intent中携带的Data完全一致时,当前活动才能狗响应该Intent。一般在标签中不会指定过多的内容。以上是关于Android中的显示Intent和隐式Intent的主要内容,如果未能解决你的问题,请参考以下文章
(转载)Android理解:显式和隐式Intent
Android-- Intent(显式和隐式Intent)
显式intent和隐式intent
Android显式意图和隐式意图
android--显式跳转和隐式跳转
2016.03-04 学习笔记-Android中隐式Intent 的使用