2012-04-02 135 views
17

有什么方法可以从我的应用程序开始在Google音乐播放器中播放歌曲吗?我正在尝试以下代码,但Google音乐播放器只会打开搜索结果&实际上并未播放该歌曲。在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

有没有这样的运气? – 2014-05-15 07:42:32

+0

任何类似“无法准备即时混音请再试一次”的消息来自Google音乐? – Karioki 2014-12-30 14:49:28

回答

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

确实如此,如果您有设备上的文件路径。但它不适用于All Access音乐。 – 2014-12-24 05:22:29

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) { 
} 
+0

这只是启动应用程序的主要活动吗? – 2014-12-31 18:13:09

2

哎呀,终于想出通过获取播放音乐过程中的堆转储。你需要添加

intent.putExtra("queryComplete", "It's my life"); 

和一切都会工作。该值必须与SearchManager.QUERY的额外值相同。

相关问题