我正在开发一个应用程序,其中我需要打开安装在设备上的调频广播。那只是“调频广播”,而不是“互联网调频广播”。
我知道如何使用intent打开另一个应用程序
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..the fm收音机包,在这台设备上的名称是
com.sec.android.app.fm这个包名对于每个安卓设备都是一样的。
任何人请帮帮忙..
发布于 2012-03-01 00:20:51
例如,CyanogenMod使用com.android.fm。我不确定其他特定于供应商的无线电应用程序,但我想说它们的包名很可能不同。
现在,脑海中浮现出两个不一定相互排斥的选项:
name*
如果你的应用程序有互联网权限,你也可以收集使用任何一种方法发现的包名,以编译一个包名的静态列表,并将其包含在你的下一个版本中,希望让新用户不必手动选择他们的无线电应用程序。
*)使用PackageManager.getInstalledApplications(...)并扫描返回的List以查找出现的".fm."、".fm"等,您也许能够获得一个可能的候选列表。
https://stackoverflow.com/questions/9478332
复制相似问题