Android显隐式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就会闪退。希望有识者不吝赐教。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豹豹-Boss成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值