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

关于android中的intent-filter解析

程序员文章站 2022-07-05 11:26:26
intent-filter直接翻译可以翻译为意图过滤器:它过滤的是什么呢?它主要就是想看一下每个activity的显示效果,或者跳转关系是什么。下面用代码来举下例子说明一下这个过滤器的作用:一,可以看到下面这个例子里有两个LAUNCHER,也就是说会有两个图标。

intent-filter直接翻译可以翻译为意图过滤器:它过滤的是什么呢?

它主要就是想看一下每个activity的显示效果,或者跳转关系是什么。

下面用代码来举下例子说明一下这个过滤器的作用:

一,可以看到下面这个例子里有两个LAUNCHER,也就是说会有两个图标。

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />//可以看到分类上面是LAUNCHER,那么他就会在桌面上船舰一个对应的图标。如果不想就设置成DEFAULT
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

关于android中的intent-filter解析

二,可以利用action进行隐式跳转。https://blog.csdn.net/a15929748502/article/details/110546164(这篇博客中提到了隐式的跳转)

当action的后面相同时,会让用户进行选择。

Androidmainfest.xml注意action的后面相同,都写的是nextActivity

  <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                //可以看到分类上面是LAUNCHER,那么他就会在桌面上船舰一个对应的图标。如果不想就设置成DEFAULT
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="android.intent.action.nextActivity" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".ThirdActivity">
            <intent-filter>
                <action android:name="android.intent.action.nextActivity" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        //写法四 隐式启动
        Intent intent=new Intent("android.intent.action.nextActivity");
        startActivity(intent);

运行时就会出现如下窗口,让用户去进行选择。

关于android中的intent-filter解析

 

本文地址:https://blog.csdn.net/a15929748502/article/details/110549979