我想在ICS / Jellybean设备上启动默认音乐播放器。看看android devloper上的API17,我可以设法弄清楚如何简单地构建一个意图来启动默认音乐播放器而不是提示用户选择音乐播放器。如果用户已经设置了默认值,我会发现后者过于干扰用户。为什么每次都要提示他们输入?我不明白> 4逻辑的那部分。
在我的> 4台设备上,我有多个播放器。我想简单地启动默认播放器,但我似乎无法获得正确的意图。我继续让弹出窗口选择一个应用程序。我是否需要在意图中使用组件?有什么帮助吗?
if(android.os.Build.VERSION.SDK_INT>=15){
Intent intent=Intent.makeMainSelectorActivity(Intent.ACTION_MAIN,
Intent.CATEGORY_APP_MUSIC);
startActivity(intent);
}else{
Intent intent = new Intent("android.intent.action.MUSIC_PLAYER");//Min SDK 8 and deprecated in API 17 for makeMainSelectoryActivity
startActivity(intent);
}
答案 0 :(得分:0)
您必须使用包名称来启动特定应用程序
以下内容不适用于所有设备,因为默认音乐播放器的包名可能不同。 不是一个好主意,我不推荐以下内容,因为您的应用不会定位到特定的手机。
Intent i = new Intent();
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("com.sec.android.app.music");
// in my case the package name is com.sec.android.app.music
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
另外,您是否应该让用户选择启动应用程序。不同的用户可能喜欢使用手机上安装的不同媒体播放器。 我建议您将其留给用户以启动他们选择的媒体播放器。
答案 1 :(得分:0)
启动以使他们选择播放器的提示具有“始终使用”和“使用一次”按钮。如果他们想要总是使用相同的玩家,那么他们将在第一时间使用并且入侵消失。在他们完成之前,他们没有默认的音乐播放器。
如果您的问题只是启动音乐播放器 - 启动意图查看mp3 MIME类型。然后,用户可以从播放MP3的应用程序子集中选择他们的应用程序,始终点击使用,并且选择器将永远不再显示。