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显隐式Intent详解

Android中IntentFilter匹配规则详解——Android开发艺术探索笔记

基础总结篇之九:Intent应用详解

Android Intent意图 : 基本使用

Android笔记02:Intent机制详解

Android-----Intent中通过startActivity(Intent intent )显式启动新的Activity