Android原生音乐播放器搜索意图

时间:2010-03-02 07:25:07

标签: android android-music-player

在Android 2.1中的股票音乐播放器(至少)中,当前播放曲目的艺术家,专辑和曲目名称可以长按,这会打开一个上下文菜单“搜索 NN with:“,链接到不同的应用程序。

更新

我设法从我自己的设备中提取日志,搜索艺术家,然后选择Google Listen来完成操作:

03-02 11:59:34.551 I/ActivityManager(   86): Displayed activity com.android.music/.MediaPlaybackActivity: 1758 ms (total 1953 ms)
03-02 11:59:35.691 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) }
03-02 11:59:36.781 I/ActivityManager(   86): Displayed activity android/com.android.internal.app.ChooserActivity: 1036 ms (total 1036 ms)
03-02 11:59:38.191 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.MEDIA_SEARCH flg=0x13000000 cmp=com.google.android.apps.listen/.SearchListActivity (has extras) }
03-02 11:59:38.511 D/Listen  (  491): Request search results for http://lfe-alpo-gm.appspot.com/search?q=Finntroll

我一定会自己去追求,但这对我来说是个新鲜事。我很感激这里的帮助。以上是否意味着只要我将MEDIA_SEARCH意图设置为活动的入口点,它就会显示在选择列表中?

1 个答案:

答案 0 :(得分:4)

好的,MEDIA_SEARCH是正确的方法。供参考:

添加意图过滤器足以使应用程序显示在媒体播放器的选择列表中:

<action android:name="android.intent.action.MEDIA_SEARCH" />

然后可以按如下方式接收行动:

final Intent queryIntent = getIntent();
final String queryAction = queryIntent.getAction();

if (MediaStore.INTENT_ACTION_MEDIA_SEARCH.equals(queryAction)) {
    String artist = queryIntent.getStringExtra(MediaStore.EXTRA_MEDIA_ARTIST);
    ...
}