¿Puede alguien decirme cómo iniciar una nueva aplicación sabiendo solo el nombre del paquete? No tengo información sobre qué actividad es la principal.
Intenta usar PackageManager
y getLaunchIntentForPackage()
Simplemente use estas dos líneas siguientes, para que pueda iniciar cualquier aplicación instalada cuyo package name
se conozca:
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.example.abc"); startActivity( launchIntent );
Si no conoce el nombre del paquete de la aplicación que quería lanzar, intente con su mano
PackageManager pm; pm = getPackageManager(); // get a list of installed apps. packages = pm.getInstalledApplications(0);
Para obtener más información, consulte este enlace Uso del Administrador de paquetes
Puede obtener el bash de inicio a través de la clase PackageManager
:
PackageManager pm = context.getPackageManager(); Intent launchIntent = pm.getLaunchIntentForPackage("com.example.package"); context.startActivity(launchIntent);
Tenga en cuenta que getLaunchIntentForPackage
devuelve null si no se encuentra el paquete. Por lo tanto, es posible que desee agregar una verificación nula:
if (launchIntent != null) { context.startActivity(launchIntent); } else { Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show(); }