首页 文章

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

提问于
浏览
1

在Android 2.1中的股票音乐播放器(至少)中,当前播放曲目的艺术家,专辑和曲目名称是长按可点击的,这将打开上下文菜单“搜索NN:”,其中包含指向不同应用的链接 .

UPDATE

我设法从我自己的设备中提取日志,搜索艺术家,然后选择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 intent设置为活动的入口点,它就会显示在选择列表中?

1 回答

  • 4

    好吧, MEDIA_SEARCH 是正确的方法 . 以供参考:

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

    <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);
        ...
    }
    

相关问题