Как получить доступ к приложениям по умолчанию, не имея идентификатора приложения? - PullRequest
2 голосов
/ 20 апреля 2020

Я учусь Implicit Intents. Я делаю приложение, чтобы охватить большинство implicit intent концепций, скриншот этого приложения здесь.

enter image description here

В этом приложении я хочу получить доступ к устройству default Weather and Radio applications. But the problem is these two apps don't even have Application id. Я много искал, чтобы получить Application id этих двух приложений по умолчанию на моем устройстве Oppo. А что, если я запустите это приложение на другом телефоне с другим application id, и как решить эту проблему?

Оба эти приложения находятся здесь:

enter image description here

1 Ответ

0 голосов
/ 20 апреля 2020

Вы не можете открыть эти приложения как браузер с неявным намерением. Разные производители используют разные приложения для погоды и радио. Таким образом, единственное решение - запустить приложение, используя имя пакета. Чтобы узнать пакет приложения, вы можете использовать ADB или любое приложение для просмотра пакетов. Например, следующий https://play.google.com/store/apps/details?id=com.csdroid.pkg&hl=uk

А затем откройте приложение со следующим кодом.

public void openApp(Context context, String packageName) {
PackageManager packageManager = context.getPackageManager();
Intent launchIntent = packageManager.getLaunchIntentForPackage(packageName);

if (launchIntent != null) {
    context.startActivity(launchIntent);
} else {
    Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show();
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...