最近几天我一直在研究这个,因为我没有股票音乐播放器。似乎很悲惨,不能轻易做到。在查看了各种音乐应用程序的 AndroidManifest.xml 以寻找线索后,我偶然发现了 MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH。
使用下面的方法,只要歌曲在 Android MediaStore 中,我就可以在后台启动三星音乐播放器。您可以指定艺术家、专辑或标题。此方法也适用于 Google Play 音乐,但不幸的是,即使是最新版本的库存 Android 播放器也没有此意图:
https://github.com/android/platform_packages_apps_music/blob/master/AndroidManifest.xml
private boolean playSong(String search){
try {
Intent intent = new Intent();
intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(SearchManager.QUERY, search);
startActivity(intent);
return true;
} catch (Exception ex){
ex.printStackTrace();
// Try other methods here
return false;
}
}
找到使用内容 URI 或 URL 的解决方案会很好,但此解决方案适用于我的应用程序。