Definir la acción de la aplicación externa en AndroidManifest.xml, Actividad principal y secundaria
Tengo bastante actividad de varios que extiende una actividad del padre llamada MasterActivity
, que centraliza todas las funciones comunes que son utilizadas en actividades del niño, incluyendo un menú lateral. Me gustaría lanzar una aplicación que tiene una acción personalizada dada:
com.example.otherapp.action.CUSTOMACTION
- ¿Cómo puedo pasar URI con intención explícita?
- Abrir la aplicación de la galería desde Android Intent
- Android, ¿Cómo llamar a onCreate () explícitamente de otro método?
- Android 4.1+: ¿Cambia el número antes de que se registre en el registro de llamadas?
- Cómo pasar un array de Uri entre Activity usando Bundle
Aquí está el AndroidManifest.xml
:
<activity android:name=".MasterActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme"> <intent-filter> <action android:name="com.example.otherapp.action.CUSTOMACTION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
En MasterActivity.java
:
Intent intent = new Intent(); intent.setAction("com.example.otherapp.action.CUSTOMACTION"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
Cuando navego a una de sus actividades secundarias en la aplicación, muestra Exception:
Ninguna actividad encontrada para manejar Intención
y se estrelló. Sin embargo, cuando agregué la entrada siguiente a AndroidManifest.xml
, lanzará un selector de acción:
<activity android:name=".ChildActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme"> <intent-filter> <action android:name="com.example.otherapp.action.CUSTOMACTION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
Tengo un centenar de actividades, no es práctico agregar mucho intent-filter
en el manifiesto. ¿Cuáles son las alternativas?
Además, ¿cómo puedo iniciar la aplicación directamente , sin elegir entre el selector de acciones? Me gustaría iniciar la aplicación de esta manera:
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.otherapp"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
pero la forma anterior no puede establecer la acción.
- Cómo abrir la aplicación youtube desde la aplicación android
- Intent.getExtras () devuelve siempre null
- Intención no se restaura correctamente después de que se cancela la actividad si se suministran banderas superiores e individuales
- Actividades de conmutación de Android
- OnActivityResult se llama cuando se inicia la actividad, no cuando se termina
- BroadcastReceiver para ACTION_MEDIA_BUTTON no funciona
- Intentos extras que faltan cuando comenzó la actividad
- Abrir cámara Android en una resolución inferior con ACTION_IMAGE_CAPTURE