【问题标题】:Android native music player search intentAndroid 原生音乐播放器搜索意图
【发布时间】:2010-03-02 07:25:07
【问题描述】:

在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_SEARCHintent设置为activity的入口点,它就会出现在选择列表中?

【问题讨论】:

    标签: android android-music-player


    【解决方案1】:

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

    【讨论】:

    • 嗨,大卫,感谢您的提示。但 EXTRA_MEDIA_TITLE 即将为空。我在我的设备(1.5)和模拟器(2.1)上进行了测试。然而;其他额外的东西都很好。你有机会获得称号吗?
    • @Omer:嗨。 EXTRA_MEDIA_TITLE 是否具有值取决于您执行搜索的方式(我猜测媒体搜索是如何在您的音乐播放器中实现的)。在stock 2.1播放器中,如果你长按专辑名称,你会搜索那个专辑,如果你长按标题,你会搜索标题。在前一种情况下,TITLE 将为空。您也可以查看MediaStore.EXTRA_MEDIA_FOCUS 以了解搜索的内容。
    • 嗨 David Hedlund,如果不介意,请提供一些与上述帖子相关的示例。
    • @kiran:我认为帖子中有很多代码。您有什么特别需要了解的信息吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 2020-05-28
    相关资源
    最近更新 更多