从android应用程序打开fm电台

时间:2012-02-28 08:03:47

标签: android audio

我正在开发一个应用程序,我需要打开设备中安装的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广播应用程序。

目前我正在使用三星Galaxy S ..此设备中的fm无线电包名称是

com.sec.android.app.fm

每个Android设备的包名是否相同。

任何人请帮助..

1 个答案:

答案 0 :(得分:4)

CyanogenMod使用com.android.fm为例。我不确定其他特定于供应商的广播应用程序,但我会说他们的软件包名称很可能会有所不同。

现在有两个,不一定是相互排斥的选项:

  1. 使用启发式方法收集广播应用程序包名称的可能候选人*
  2. 要求用户从所有已安装软件包的列表中选择无线电应用程序
  3. 如果您的应用具有互联网权限,您还可以收集使用任一方法发现的包名称,以编译要包含在您的下一版本中的包名称的静态列表,以避免新用户必须手动选择他们的电台应用。

    *) 使用PackageManager.getInstalledApplications(...)并针对List".fm."等的匹配项扫描返回的".fm",您可能会获得可能的候选人列表。