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


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

3 68

3 ответа:

попробуйте использовать PackageManager и getLaunchIntentForPackage()

просто используйте следующие две строки, так что вы можете запустить любое установленное приложение, которое 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);

для получения дополнительной информации обращайтесь по этой ссылке С Помощью Диспетчера Пакетов

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

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

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

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