如何创建/由可编程的方式禁用意向过滤器?可编程、过滤器、意向、方式

2023-09-04 12:13:29 作者:青丝成雪

我有三个活动和三个意向过滤器为他们在Android清单。

I have three activity and three Intent Filters for them in the Android Manifest.

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>                 
    </activity>
    <activity 
        android:name=".firstActivity"
        android:theme="@style/AppTheme" 
        android:label="@string/first">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>  
   </activity>
    <activity 
        android:name=".secondActivity"
        android:theme="@style/AppTheme" 
        android:label="@string/second">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>  
   </activity>
   <activity 
        android:name=".thirdActivity"
        android:theme="@style/AppTheme" 
        android:label="@string/third">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>  
   </activity ></application>

如何禁用意图过滤器可编程根据选项?或者,我可以用code创建新的意图过滤器?

How can I disable intent filters programmable depending on options? Or can I create new intent filters by code?

感谢。

推荐答案

您既不能启用,禁用,或创建&LT;意向滤光器&gt; 取值编程

You can neither enable, disable, or create <intent-filter>s programmatically.

不过,你的情况,你只能有一个&LT;意向滤光器&gt; 每个组件。在这种情况下,您可以启用和禁用的组件的编程方式,通过 PackageManager setComponentEnabledSetting()。在你的情况,启用或禁用活动将具有相同的基本效果,启用或禁用了&LT;意向滤光器&gt;

However, in your case, you only have one <intent-filter> per component. In that case, you can enable and disable the component programmatically, via PackageManager and setComponentEnabledSetting(). In your case, enabling or disabling the activity would have the same basic effect as enabling or disabling its <intent-filter>.

 
精彩推荐
图片推荐