【问题标题】:Android - Voice Control - Media IntentAndroid - 语音控制 - 媒体意图
【发布时间】:2011-08-02 17:09:38
【问题描述】:

我刚刚开始研究 Android 开发,我正在创建一个小应用程序,它将“聆听”意图映射到媒体播放器功率放大器(最近发布的 api)。 这个应用程序没有 gui,它只是语音控制和功放之间的粘合剂。

我可以捕捉到意图 android.media.action.MEDIA_PLAY_FROM_SEARCH 并控制功率放大器,但我的问题是为了捕捉 android.media.action.MEDIA_PLAY_FROM_SEARCH 我必须将我的应用声明为活动,因此当我使用语音控制时发送我的应用程序在屏幕上加载的意图。我试图将应用程序声明为接收者\服务,但我无法让他们捕捉到意图。

应用程序如何隐藏运行但仍捕获此意图?

谢谢,Ger。

【问题讨论】:

    标签: android


    【解决方案1】:

    如果我正确理解您的需求,您的应用中实际上不需要任何 Activity。只是一个扩展 BroadcastReceiver 并实现它的 onRecieve(Context, Intent) 方法的类。

    然后在您的清单中,您可以将该接收器绑定到您想要侦听的特定意图。您的应用将在没有 UI 的情况下启动,入口点是您实现的 BroadcastReceiver 类。

    清单条目将如下所示:

    <receiver android:name=".MyBroadcastReceiver">
                <intent-filter>
                    <action android:name="com.android.music.metachanged" />
                    <action android:name="com.amazon.mp3.metachanged" />
                    <!-- <action android:name="com.amazon.mp3.playstatechanged" /> -->
                    <!-- <action android:name="com.android.music.playbackcomplete" />-->
                    <action android:name="com.android.music.playstatechanged" />
                    <action android:name="com.htc.music.metachanged" />
                    <!--  <action android:name="com.htc.music.playbackcomplete" />-->
                    <!--  <action android:name="com.htc.music.playstatechanged" /> -->
                    <action android:name="com.sec.android.app.music.metachanged" /> 
                    <action android:name="com.nullsoft.winamp.metachanged" />
                    <action android:name="com.nullsoft.winamp.playstatechanged" />  
                </intent-filter>
        </receiver>
    

    【讨论】:

    • 我试图通过使用我在活动中使用的相同意图来实现接收器` `但是当我使用语音控制时找不到应用程序安装后,我想知道语音控制是否只会向活动发送“收听”意图!?
    • 我认为你可能是对的,这个意图不是广播,而是只与 start-actity 概念一起使用。 developer.android.com/reference/android/content/… 的文档提出了两者之间的差异。
    猜你喜欢
    • 1970-01-01
    • 2012-01-22
    • 2015-04-18
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多