Хтось може сказати мені, як запустити нову програму, знаючи лише її назву? Я не маю інформації про те, яка діяльність є основною.
Відповіді:
Спробуйте використовувати 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);
Для отримання додаткової інформації зверніться за цим посиланням за допомогою Package Manager
LaunchIntent.setFlags("Intent.FLAG_ACTIVITY_NEW_TASK");іLaunchIntent.setFlags("Intent.FLAG_ACTIVITY_SINGLE_TOP");
Ви можете отримати намір запуску через 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();
}
Intent intent;
PackageManager pm = getActivity().getPackageManager();
intent = pm.getLaunchIntentForPackage("com.package.name");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);