Google Play音乐不再支持media_play_from_search

时间:2014-01-13 05:34:25

标签: android android-intent android-music-player

Google Play音乐不再出现在INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH意图的“使用完整操作”列表中。我知道这曾经用于2.3和Pandora和Spotify仍然出现。以前有人遇到过这个问题吗?

Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH); 
intent.putExtra(SearchManager.QUERY, artistName); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

窥视音乐apk,我仍然认为活动仍然存在于intent-filter中的正确操作,但看起来他们错过了blog post announcing this feature中原始发布的类别默认值

<activity android:name="com.google.android.music.VoiceActionsActivity" android:exported="true" android:process=":ui" android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
    </intent-filter>
</activity>

1 个答案:

答案 0 :(得分:2)

我找到了一个解决方法:可以手动将Intent的ClassName设置为VoiceActionsActivity,如下所示:

Intent intent = new Intent();
intent.setClassName("com.google.android.music","com.google.android.music.VoiceActionsActivity");
intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.putExtra(SearchManager.QUERY, "chromeo - fancy footwork");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

Google音乐显然仍然不会出现在选择器对话框中,但您可以添加一个可以打开Goog​​le音乐的自定义按钮。

编辑:这实际上是可行的,请看这个问题:add or remove options from createChooser但是,这将从应用程序中删除“设置默认”按钮,所以它不是很完美。另一个选择是使用getPackageManager().queryIntentActivities()构建您自己的选配器。