如果我正確理解您的需求,您實際上不需要在您的應用中使用任何活動。只是一個擴展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>
我試圖用我的活動 ' \t <接收器的Android使用了相同的意向來實現reciever:NAME =」 MusicVoiceControl_BkGrd 「> \t <意圖濾波器> \t <操作機器人:名稱=」 android.media.action.MEDIA_PLAY_FROM_SEARCH」 /> \t <類別機器人:名稱= 「android.intent.category.DEFAULT」/> \t意圖過濾器> \t ' 但是當我使用語音控制它無法找到安裝的應用程序,我想知道將語音控制只發送了「聽」的意圖活動!? – user425678 2011-04-11 20:05:28
我認爲你可能是對的,這個意圖沒有被廣播,但只用於開始 - 實際的概念。 http://developer.android.com/reference/android/content/BroadcastReceiver.html上的文檔暗示了兩者之間的區別。 – mmeyer 2011-04-11 20:45:09