有没有办法从我的应用程序开始在Google音乐播放器应用中播放歌曲?我正在尝试关注代码,但谷歌音乐播放器只会打开搜索结果&实际上并没有播放这首歌。
Intent intent = new Intent();
intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.putExtra(SearchManager.QUERY, "It's my life");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setPackage("com.google.android.music");
activity.startActivity(intent);
INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH的文档说明如下 - 意图执行搜索音乐媒体并尽可能自动播放结果中的内容。
因此,根据文档,它应该能够播放这首歌。但是,它只会打开搜索结果而不会播放。我在这里缺少什么想法?
感谢您提供的任何帮助。
答案 0 :(得分:2)
Argh,终于通过获取Play Music流程的堆转储来解决这个问题。你需要添加
intent.putExtra("queryComplete", "It's my life");
一切都会奏效。该值必须与SearchManager.QUERY
额外值相同。
答案 1 :(得分:0)
我找到了一种方法。
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(YOUR_SONG_URI);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
答案 2 :(得分:0)
Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("com.google.android.music");
if (i == null)
throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
}