Открытие FM-радио из приложения Android - PullRequest
4 голосов
/ 28 февраля 2012

Я разрабатываю приложение, в котором мне нужно открыть FM-радио, установленное в устройстве.это только "FM-радио", а не "интернет-FM-радио".

Я знаю, как открыть другое приложение, используя намерение

 Intent i = new Intent(Intent.ACTION_MAIN);
 PackageManager manager = getPackageManager();
 i = manager.getLaunchIntentForPackage("com.sec.android.app.fm");
 i.addCategory(Intent.CATEGORY_LAUNCHER);
 startActivity(i);

Но мне нужно имя пакета приложения FM-радио вЕсть ли способ, как я могу запросить имя пакета и открыть приложение FM-радио.

В настоящее время я использую Samsung Galaxy S..имя пакета FM-радио в этом устройстве

com.sec.android.app.fm

Это имя пакета будет одинаковым для всех устройств Android.

Любой, пожалуйста, помогите ..

1 Ответ

4 голосов
/ 29 февраля 2012

CyanogenMod использует com.android.fm например. Я не уверен насчет других радиоприложений, ориентированных на конкретного производителя, но я бы сказал, что их названия пакетов могут отличаться.

Сейчас на ум приходят два, не обязательно взаимоисключающих варианта:

  1. Использование эвристического подхода для сбора вероятных кандидатов на название пакета приложения для радио *
  2. Требование к пользователю выбрать радио-приложение из списка всех установленных пакетов

Если ваше приложение имеет интернет-разрешения, вы также можете собирать имена пакетов, обнаруженные любым из этих методов, для составления статического списка имен пакетов, которые будут включены в ваш следующий выпуск, в надежде избавить новых пользователей от необходимости вручную выбирать их радио приложение.

*) Используя PackageManager.getInstalledApplications(...) и сканируя возвращенные List на наличие вхождений ".fm.", ".fm" и т. Д., Вы можете получить список возможных кандидатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...