Android 如果fitler的意向活动只包含action_MAIN而未提及类别,这意味着什么?

Android 如果fitler的意向活动只包含action_MAIN而未提及类别,这意味着什么?,android,android-intent,intentfilter,android-implicit-intent,Android,Android Intent,Intentfilter,Android Implicit Intent,我理解,为了解决隐式意图,我们需要带有动作和类别默认值的意图过滤器 <activity android:name="org.A.C" android:theme="@style/NoTitle" android:launchMode="singleTop" android:screenOrientation="behind"> <intent-filter> <actio

我理解,为了解决隐式意图,我们需要带有动作和类别默认值的意图过滤器

    <activity android:name="org.A.C"
        android:theme="@style/NoTitle"
        android:launchMode="singleTop"
        android:screenOrientation="behind">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>

    <activity android:name="org.A.B"
        android:theme="@style/NoTitle"
        android:launchMode="singleTop"
        android:screenOrientation="behind">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>
  • 但我的问题是,如果使用意图过滤器声明活动,会发生什么 有行动,但没有类别。1a)该意向过滤器的功能和用途是什么
  • 如果有几个这样的活动呢

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
    
    
  • 但我的问题是,如果一个意图声明的活动过滤了动作,但没有类别,该怎么办

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
    该活动将被忽略,因为它没有指定类别,因此与任何有类别的
    意图都不匹配。如果
    startActivity()
    使用的所有
    Intent
    对象未指定其他类别,则它们将添加到
    默认
    类别中

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
    如果有几个这样的活动呢

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
    然后您有几个活动将被忽略

        <activity android:name="org.A.C"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    
        <activity android:name="org.A.B"
            android:theme="@style/NoTitle"
            android:launchMode="singleTop"
            android:screenOrientation="behind">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>