欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-08-17 20:05:52
前段时间立志坚持写博客,但是发现自己的积累的确不多,于是假期泡了泡图书馆,读了一些很有价值的文章。收获颇多,今天的文章分享为主,共同学习。 为什么要写显式启动与隐式启动a...

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

为什么要写显式启动与隐式启动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。

<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);

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