Запустите приложение, узнав имя пакета

Может ли кто-нибудь сказать мне, как запустить новое приложение, зная только его имя пакета? У меня нет информации о том, какая деятельность является основной.

Ответ 2

Просто используйте следующие две строки, поэтому вы можете запустить любое установленное приложение, package name которого известно:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.example.abc");
startActivity( launchIntent );

Если вы не знаете имя пакета приложения, которое вы хотели запустить, попробуйте воспользоваться

PackageManager pm;
pm = getPackageManager();
//  get a list of installed apps.
packages = pm.getInstalledApplications(0);

Для получения дополнительной информации см. Эту ссылку. Использование диспетчера пакетов

Ответ 3

Вы можете получить намерение запуска с помощью класса PackageManager:

PackageManager pm = context.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage("com.example.package");
context.startActivity(launchIntent);

Обратите внимание, что getLaunchIntentForPackage возвращает null, если пакет не найден. Поэтому вы можете добавить нулевую проверку:

if (launchIntent != null) {
    context.startActivity(launchIntent);
} else {
    Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show();
}