3
4

2 回答 2

5

我认为最好的选择是使用选择器活动,用户可以在其中选择他最喜欢的媒体播放器。

Intent viewIntent = new Intent(Intent.ACTION_VIEW);
File file = new File((String) ((TextView) item).getText());
viewIntent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(Intent.createChooser(viewIntent, null));

顺便说一句,这种传递文件名的方式对我来说似乎有点奇怪。我会考虑改变它。

我不确定,但如果你声明了相应的意图过滤器,你应该能够在选择器中看到你自己的播放器。

于 2013-06-12T14:21:45.590 回答
2

您仍然可以使用已弃用的意图来定位低于 15 的 API 级别,然后使用新的意图来定位更新的 API 级别。为此,只需在您的代码中使用如下检查:

if ( Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1 )  {
   // use the [MediaStore.INTENT_ACTION_MUSIC_PLAYER] intent
}
else  {
   // use the [Intent.CATEGORY_APP_MUSIC] intent
}

只要确保您的 TargetAPI 为 15 或更高;你的 MinAPI 可以是 8。

于 2013-06-12T13:52:56.783 回答