0

我想在 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);
}
4

2 回答 2

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);

您也应该不让用户选择要启动的应用程序。不同的用户可能喜欢使用安装在手机上的不同媒体播放器。我建议您将其留给用户来启动他们选择的媒体播放器。

于 2013-06-30T07:20:34.660 回答
0

启动以使他们选择玩家的提示具有“始终使用”和“使用一次”按钮。如果他们想始终使用同一个播放器,他们将始终第一次使用,并且入侵消失了。在他们完成之前,他们没有默认的音乐播放器。

如果您的问题只是启动音乐播放器,请启动查看 mp3 MIME 类型的意图。然后用户可以从播放 MP3 的应用程序子集中选择他们的应用程序,始终点击使用,然后选择器将永远不会再显示。

于 2013-06-30T07:23:06.697 回答