¿Cómo crear / deshabilitar la intención de filtro de forma programable?

Tengo tres actividades y tres filtros de intención para ellos en el manifiesto de Android.

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

¿Cómo puedo desactivar los filtros de intención programables dependiendo de las opciones? ¿O puedo crear nuevos filtros de intenciones por código?

Gracias.

No se puede habilitar, deshabilitar o crear <intent-filter> s mediante programación.

Sin embargo, en su caso, solo tiene un <intent-filter> por componente. En ese caso, puede habilitar y deshabilitar el componente mediante programación mediante PackageManager y setComponentEnabledSetting() . En su caso, activar o desactivar la actividad tendría el mismo efecto básico que habilitar o deshabilitar su <intent-filter> .

Un filtro de intenciones es una instancia de la clase IntentFilter. Sin embargo, dado que el sistema Android debe conocer las capacidades de un componente antes de que pueda iniciar ese componente, los filtros de intención generalmente no se configuran en código Java, sino en el archivo de manifiesto de la aplicación (AndroidManifest.xml) como elementos. ( La única excepción sería los filtros para receptores de difusión que se registran dinámicamente llamando a Context.registerReceiver (), que se crean directamente como objetos IntentFilter).

Fuente: http://developer.android.com/guide/components/intents-filters.html

Además, vea esto: https://stackoverflow.com/a/10403074/832776

  • ¿Cuántas etiquetas de esquema y host pueden estar bajo el intento de filtro en android manifiesto?
  • ¿Cómo puedo iniciar la actividad PRINCIPAL con la ayuda de <intento-filtro>?
  • "La actividad exportada no requiere permiso" al intentar iniciar desde un URI
  • Intento de archivo de exploración android con extensión definida
  • ¿Cómo funciona la compra de una aplicación para habilitar las funciones de pago de otra aplicación?
  • ¿Cómo iniciar una aplicación sin el icono del lanzador mediante la exploración de una etiqueta NFC?
  • Cómo recibir un archivo usando NFC (Android Beam) en Android
  • Las pestañas personalizadas de Chrome de Android / la API web de Fitbit no se redireccionarán si la aplicación ya está autorizada. (OAuth2.0)
  • Android IntentService no puede instanciar clase; Sin constructor vacío
  • Android External App Install (en la tarjeta SD), vuelva a cargar las alarmas del alarmmanager al re-montar a través del receptor
  • El receptor de Broadcast de Android no se ejecuta en la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.