Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo puedo iniciar una aplicación específica de forma programática en Android?

Quiero lanzar una aplicación específica. Sé cómo hacer intentos pero quiero evitar el menú de selección si hay varias aplicaciones que pueden manejar la intención, quiero ir directamente a una aplicación en particular. Espero que esto tenga sentido.

  • Proguard Android, mantener la clase interna
  • Dibujar texto dentro de un círculo
  • Equivalente a la vista "Problemas" de Eclipse en Android Studio
  • Tarea de programación android para ejecutarse en horas específicas diarias
  • ERROR: Linux de 32 bits Los binarios de emulador de Android son DEPRECATED
  • Gradle pone archivos duplicados en el archivo apk
  • Subir contenido al hacer clic en el texto de edición
  • Esperar hasta que firebase recupere datos
  • Cómo obtener la altura de LinearLayout
  • Encontrar una lista de todas las aplicaciones de Android en el mercado
  • Códigos de ejemplo para Android Programación Bluetooth
  • Obtener mapa de bits del diseño
  • 5 Solutions collect form web for “¿Cómo puedo iniciar una aplicación específica de forma programática en Android?”

    Usted utiliza el nombre / clase del paquete directamente, por ejemplo para crear una nueva intención de llamar al programa twidroid que usaría el siguiente texto del enlace :

    Intent intent = new Intent("com.twidroid.SendTweet"); 

    Es probable que desee probar / capturar un ActivityNotFoundException para cuando la aplicación no esté instalada.

    Debe utilizar la función del gestor de paquetes.

     Context ctx=this; // or you can replace **'this'** with your **ActivityName.this** try { Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet"); ctx.startActivity(i); } catch (NameNotFoundException e) { // TODO Auto-generated catch block } 
     Intent intent = new Intent(); intent.setClassName("package.name", "package.name.LauncherActivityName"); startActivityForResult(intent,REQUEST_CODE); 

    La actividad que está llamando debe aparecer no sólo en el Manifiesto para su propio paquete, sino también en el Manifiesto para el paquete LLAMANDO. – No se olvide!

    Yo suelo:

      try { Intent intent = new Intent(); intent.setClassName("package.name", "<your_package_name>"); startActivity(intent); } catch (NameNotFoundException e) { Log.e(TAG, e.getMessage()); } 

    Pero como Cami sugirió que esto funcionará también:

     try { Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet"); ctx.startActivity(i); } catch (NameNotFoundException e) { Log.e(TAG, e.getMessage()); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.