Я делаю приложение, которое при запуске по Bluetooth-тексту, отправляемому Arduino, открывает функцию преобразования голоса в текст в SDK и обрабатывает то, что пользователь сказал для выполнения действий. Проблема в том, что я не могу найти способ открыть приложение, сказал пользователь. Например, откройте WhatsApp. Как я могу открыть WhatsApp или любое другое приложение, говорит пользователь. Пожалуйста, помогите мне побыстрее. Я погуглил, но обнаружил, что запускает только приложения с использованием имени пакета. - DevanCoder
Отметьте это stackoverflow.com/a/5097838/3111083. Используйте PackageManager для поиска имени пакета. Вы можете использовать это имя для открытия необходимого приложения.
Android управляет приложением на основе имени пакета. Следовательно, вы должны использовать его для запуска приложения. Пожалуйста, попробуйте следующие шаги:
Когда пользователь говорит: «Откройте Whatsapp», из вашего приложения выполните поиск по всем установленным приложениям (получите как имя приложения, так и имя пакета). Что-то вроде этого:
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
Из списка имен приложений вы можете выбрать наиболее подходящее, а затем открыть базу приложения по имени пакета.
Зависит ли от вашего выбора, какое приложение вы хотите открыть?