Может ли кто-нибудь сказать мне, как запустить новое приложение, зная только его имя пакета? У меня нет информации о том, какая деятельность является основной.
Запустите приложение, узнав имя пакета
Ответ 1
Попробуйте использовать PackageManager
и getLaunchIntentForPackage()
Ответ 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();
}