Sé cómo actualizar mis propios programas, y sé cómo abrir programas usando un Uri predefinido (por ejemplo, sms o correo electrónico)
Necesito saber cómo puedo crear una intención para abrir MyTracks o cualquier otra aplicación que no sé qué intenciones escuchan.
Recibí esta información de DDMS, pero no he tenido éxito en convertir esto en una intención que pueda usar. Esto se toma al abrir MyTracks manualmente.
Gracias por tu ayuda
05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] }
05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015}
05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)
fuente
onCreate
=>Bundle extras = getIntent().getExtras()
=>if(extras != null) { extras.getString("blah") }
etc.getPackageManager().getLaunchIntentForPackage()
ya hace todo eso por usted github.com/android/platform_frameworks_base/blob/master/core/…Tengo trabajo así,
Ejemplo de uso:
Espero que ayude a alguien.
fuente
getLaunchIntentForPackage
llamada.getLaunchIntentForPackage()
ya agrega la categoría, ver fuente: github.com/android/platform_frameworks_base/blob/master/core/…EDITAR:
como se sugiere en los comentarios, agregue una línea antes
startActivity(intent);
fuente
Si ya tiene el nombre del paquete que desea activar, puede usar el siguiente código, que es un poco más genérico:
Descubrí que funciona mejor para los casos en que la actividad principal no se encontró mediante el método regular para iniciar la actividad PRINCIPAL.
fuente
Este es el código de mi base de solución en la solución MasterGaurav:
fuente
Usando la solución de inversus, expandí el fragmento con una función, que se llamará cuando la aplicación deseada no esté instalada en este momento. Entonces funciona como: Ejecutar aplicación por nombre de paquete. Si no se encuentra, abra Android Market: Google Play para este paquete .
Y se usa así:
fuente
Utilizar este :
fuente
Abra la aplicación si existe, o abra la aplicación Play Store para instalarla:
fuente
Para iniciar otra actividad de la aplicación desde la actividad de mi aplicación. Está funcionando bien para mí.
El siguiente código funcionará si la otra aplicación ya está instalada en su teléfono; de lo contrario, no es posible redirigir una aplicación a otra. Por lo tanto, asegúrese de que su aplicación se haya iniciado o no.
fuente
// Esto funciona en Android Lollipop 5.0.2
fuente
Dado que las aplicaciones no pueden cambiar muchas de las configuraciones del teléfono, puede abrir una actividad de configuración al igual que otra aplicación.
Mire su salida de LogCat después de haber modificado la configuración manualmente:
Luego, use esto para mostrar la página de configuración de su aplicación:
fuente
Para API nivel 3+, nada más que una línea de código:
Intent intent = context.getPackageManager().getLaunchIntentForPackage("name.of.package");
Devuelva un intento de lanzamiento de CATEGORY_INFO (las aplicaciones sin actividad de iniciador, los fondos de pantalla, por ejemplo, a menudo usan esto para proporcionar información sobre la aplicación) y, si no la encuentra, devuelve el CATEGORY_LAUNCH del paquete, si existe.
fuente
Si está intentando iniciar un SERVICIO en lugar de una actividad, esto funcionó para mí:
Si utiliza el método intent.setComponent (...) como se menciona en otras respuestas, puede obtener una advertencia "Los intentos implícitos con startService no son seguros".
fuente
Alternativamente, también puede abrir la intención desde su aplicación en la otra aplicación con:
¿Dónde
uri
está el enlace profundo a la otra aplicación?fuente
Use lo siguiente:
fuente
Iniciar una aplicación desde otra aplicación en Android
fuente
Si desea abrir otra aplicación y no está instalada, puede enviarla a Google App Store para descargarla.
Primero cree el método openOtherApp por ejemplo
2.- Uso
fuente
Prueba este código, espero que esto te ayude. Si este paquete está disponible, se abrirá la aplicación o se abrirá Play Store para descargas
fuente
Puede usar este comando para buscar los nombres de paquetes instalados en un dispositivo:
Referencia: http://www.aftvnews.com/how-to-determine-the-package-name-of-an-android-app/
fuente
fuente