从android应用程序打开调频收音机
我正在开发一个应用程序,需要打开安装在设备中的调频收音机。 这只是“调频收音机”而不是“互联网调频收音机” 我知道如何使用intent打开另一个应用程序从android应用程序打开调频收音机,android,audio,Android,Audio,我正在开发一个应用程序,需要打开安装在设备中的调频收音机。 这只是“调频收音机”而不是“互联网调频收音机” 我知道如何使用intent打开另一个应用程序 Intent i = new Intent(Intent.ACTION_MAIN); PackageManager manager = getPackageManager(); i = manager.getLaunchIntentForPackage("com.sec.android.app.fm"); i.addCategory(I
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);
但我需要每个设备上的调频收音机应用程序包名,
是否有任何方法可以查询包名并打开调频收音机应用程序
目前我使用的是三星galaxy S。该设备中的调频收音机组件名称为
com.sec.android.app.fm
每个安卓设备的软件包名称都是相同的
任何人请帮忙。CyanogenMod使用
com.android.fm
例如。我不确定其他特定于供应商的无线电应用程序,但我认为它们的软件包名称很可能不同
现在我想到了两个不一定相互排斥的选择:
使用
PackageManager.getInstalledApplications(…)
并扫描返回的列表中出现的“.fm.”
、“.fm”
等,您可能会得到一个可能的候选程序列表。谢谢老兄。。我想这就可以了。。但是如果有像“com.fmanager.xyz”这样的包的话这将打开那个包…对…是的,那可能是个问题。一种选择是根据可能的候选人成为fm应用程序的可能性(即fm)将分数应用于他们。将获得高于.fm*的分数,或以.fm结尾的包获得最高分数。还请记住,它们可能根本不包含“fm”,但可能包含“radio”或类似的内容!这种启发式方法可能看起来相当奇特,更安全的选择当然是选项2,要求用户在首次发布时选择一个广播应用程序。。。。