1

在 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意图设置为活动的入口点,它就会显示在选择列表中?

4

1 回答 1

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);
    ...
}
于 2010-03-02T11:40:41.107 回答