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

Я делаю приложение, которое при запуске по Bluetooth-тексту, отправляемому Arduino, открывает функцию преобразования голоса в текст в SDK и обрабатывает то, что пользователь сказал для выполнения действий. Проблема в том, что я не могу найти способ открыть приложение, сказал пользователь. Например, откройте WhatsApp. Как я могу открыть WhatsApp или любое другое приложение, говорит пользователь. Пожалуйста, помогите мне побыстрее. Я погуглил, но обнаружил, что запускает только приложения с использованием имени пакета. - DevanCoder

Зависит ли от вашего выбора, какое приложение вы хотите открыть?

nivesh shastri 11.04.2018 12:24

Отметьте это stackoverflow.com/a/5097838/3111083. Используйте PackageManager для поиска имени пакета. Вы можете использовать это имя для открытия необходимого приложения.

sunil sunny 11.04.2018 12:26
0
2
99
1

Ответы 1

Android управляет приложением на основе имени пакета. Следовательно, вы должны использовать его для запуска приложения. Пожалуйста, попробуйте следующие шаги:

  1. Когда пользователь говорит: «Откройте Whatsapp», из вашего приложения выполните поиск по всем установленным приложениям (получите как имя приложения, так и имя пакета). Что-то вроде этого:

    Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    List<ResolveInfo> pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
    
  2. Из списка имен приложений вы можете выбрать наиболее подходящее, а затем открыть базу приложения по имени пакета.

Другие вопросы по теме