Android显式启动与隐式启动Activity的区别介绍

时间:2021-05-02

前段时间立志坚持写博客,但是发现自己的积累的确不多,于是假期泡了泡图书馆,读了一些很有价值的文章。收获颇多,今天的文章分享为主,共同学习。

为什么要写显式启动与隐式启动Activity。这源于自己的一次面试,被Baidu工程师问道,但是后来觉得自己回答的不好,废话少说,进入正题。

如题,Android的Acitivity启动大致有两种方式:显式启动与隐式启动。下面分别介绍:

A:显式启动

对于初学者来说,这个最常见,下面用代码来解释什么是显式启动。

复制代码 代码如下:
Intent intent=new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);


B:隐式启动

隐式启动不同之处在于我们并不需要像Intent(MainActivity.this, SecondActivity.class)这样传参数然后再Start另一个Activity.我们需要在intent添加过滤器intentfilter。

? 1 2 3 4 5 6 7 8 <activity android:name="com.example.android.tst.SecondActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="com.example.android.tst.SecondActivity"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

这样,我们需要在启动另一个Activity的时候只需要如下方法就可以:

复制代码 代码如下:
Intent intent=new Intent("com.example.android.tst.SecondActivity");
startActivity(intent);


通过这样一个实例会比较清晰了。由于不习惯网页编辑博文,还有不熟悉附件上传,工程就不上传了,多动手最重要!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章