Android-语音控制-媒体意图
我刚刚开始研究Android开发,我正在创建一个小应用程序,它将监听意图映射到媒体播放器power amp最近发布的api。 这个应用程序没有gui,它只是语音控制和功率放大器之间的粘合剂 我可以从搜索和控制功率放大器中捕获android.media.action.media\u PLAY\u的意图,但我的问题是,为了从搜索中捕获android.media.action.media\u PLAY\u,我必须将我的应用程序声明为活动,因此当我使用语音控制发送意图时,我的应用程序加载到屏幕上。我曾尝试将该应用程序声明为接收器\服务,但我无法让他们捕获意图 应用程序如何隐藏运行但仍能捕获此意图Android-语音控制-媒体意图,android,Android,我刚刚开始研究Android开发,我正在创建一个小应用程序,它将监听意图映射到媒体播放器power amp最近发布的api。 这个应用程序没有gui,它只是语音控制和功率放大器之间的粘合剂 我可以从搜索和控制功率放大器中捕获android.media.action.media\u PLAY\u的意图,但我的问题是,为了从搜索中捕获android.media.action.media\u PLAY\u,我必须将我的应用程序声明为活动,因此当我使用语音控制发送意图时,我的应用程序加载到屏幕上。我曾尝
谢谢你,格。如果我正确理解你的需求,你实际上不需要在应用程序中进行任何活动。只是一个扩展BroadcastReceiver并实现其OnReceiveContext、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>
我曾尝试使用我在活动中使用的相同意图来实现接收器``但当我使用语音控制时,它找不到已安装的应用程序,我想知道语音控制是否只将侦听意图发送给活动!?我认为你可能是对的,这个意图不是广播的,而只是用于启动活动的概念。当时的文件表明两者之间存在差异。