首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Google音乐播放器中播放歌曲时遇到问题

在Google音乐播放器中播放歌曲时遇到问题
EN

Stack Overflow用户
提问于 2012-04-03 05:05:24
回答 3查看 810关注 0票数 17

有没有办法从我的应用程序开始在Google音乐播放器应用程序中播放一首歌曲?我正在尝试下面的代码,但谷歌音乐播放器只打开搜索结果&实际上并没有播放歌曲。

代码语言:javascript
复制
    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的文档说明如下-意图执行音乐媒体搜索,并在可能的情况下自动播放结果内容。

所以,根据文档,它应该能够播放这首歌。但是,它只打开搜索结果,而不播放它。你知道我这里遗漏了什么吗?

感谢你能提供的任何帮助。

EN

回答 3

Stack Overflow用户

发布于 2015-01-06 05:23:32

啊,终于通过获得Play Music进程的堆转储解决了这个问题。您需要添加

代码语言:javascript
复制
intent.putExtra("queryComplete", "It's my life");

一切都会好起来的。该值必须与SearchManager.QUERY extra相同。

票数 2
EN

Stack Overflow用户

发布于 2014-12-24 12:48:40

我找到了一个方法来做到这一点。

代码语言:javascript
复制
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);
票数 0
EN

Stack Overflow用户

发布于 2014-12-30 21:14:35

代码语言:javascript
复制
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) {
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9983813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档