Android显隐式Intent详解
Posted 豹豹-Boss成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android显隐式Intent详解相关的知识,希望对你有一定的参考价值。
Intent使用
在学习使用android的过程中,我们会学习如何进行页面的跳转,不少同学都对显式的跳转比较熟悉,但是显式跳转的功能有限,为了更好的用户体验,我们有必要学习如何隐式的跳转。
显式Intent
核心语句
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);//当前活动是在MainActivity,跳转到SecondActivity活动
如你所见,只能进行两个页面的互相跳转,功能有限。
隐式Intent
核心语句(两部分)
MainActivity.java部分
Intent intent = new Intent("Activity_Start");
intent.addcategory("Second");//根据AndroidManifest中的SecondActivity
//的类别(category)跳转到SecondActivity
intent.addcategory("Third");//根据AndroidManifest中的ThirdActivity
//的类别(category)跳转到ThirdActivity(与上一句不可同时出现)
startActivity(intent);//Intent()中传入的是AndroidManifest中的<intent-filter>
//中的<action>
AndroidManifest.xml部分
<activity
android:name = ".SecondActivity">
<intent-filter>
<action android:name = "Activity_Start">
<category android:name = "android.intent.category.DEFAULT">
<category android:name = "Second">
</intent-filter>
<activity
android:name = ".ThirdActivity">
<intent-filter>
<action android:name = "Activity_Start">
<category android:name = "android.intent.category.DEFAULT">
<category android:name = "Third">
</intent-filter>
隐式Intent注意事项
本案例中,使用了按钮作为监听触发器,且本案例为心得作用,并不能进行零基础Intent的学习,读者可以移 郭霖《第一行代码》学习详细用法,在Intent部分,遇到问题时,再来欣赏本文章,相信会使读者对于Intent的了解更深一步
更多隐式用法
上文我们提到,隐式intent可以使用户有更好的使用体验,下面我们举个例子
调用百度
Intent intent = new Intent(Intent.ACTION_VIEW);//Intent()中传入的是Android
//系统内置的动作,
//常量值为android.intent.action.VIEW,读者可以直接输入常量值
intent.setData(Uri.parse("https://baidu.com"));//传入网址,
//Uri.parse方法会将网址解析
//intent.setData方法会将解析得到的Uri对象传递进去intent
startActivity(intent);
此外,笔者对于一事不解,按照本文方法,只能在首页跳到百度界面,可是当我想要从首页跳到第二个界面,然后从第二个界面跳到百度界面时,APP就会闪退。希望有识者不吝赐教。
以上是关于Android显隐式Intent详解的主要内容,如果未能解决你的问题,请参考以下文章
Android中IntentFilter匹配规则详解——Android开发艺术探索笔记
Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity