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。一般在标签中不会指定过多的内容。

发布了25 篇原创文章 · 获赞 1 · 访问量 714

猜你喜欢

转载自blog.csdn.net/weixin_43551957/article/details/103991919