我看到多個廣播(例如ACTION_TIME_TICK)無法在清單中註冊,必須通過Context.registerReceiver()
明確註冊。我在ACTION_USER_PRESENT廣播意圖中遇到問題。具體來說,我測試的模擬器和我的應用程序不斷強制關閉與錯誤:ACTION_USER_PRESENT BroadcastReceiver是否可以在清單中註冊?
08-30 09:44:23.397: ERROR/AndroidRuntime(290): java.lang.RuntimeException: Unable to start receiver me.turnerha.RegisterListeners: java.lang.IllegalArgumentException: Receiver not registered: [email protected]
這是由
08-30 09:44:23.397: ERROR/AndroidRuntime(290): Caused by: java.lang.IllegalArgumentException: Receiver not registered: [email protected]
我的表現造成相當簡單:
<receiver android:name=".RegisterListeners">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
</intent-filter>
</receiver>
有什麼想法?我基本上試圖創建一個在安裝應用程序後儘快喚醒的Receiver。第一次喚醒時,它會註冊一些監聽器,然後它自己註銷,以免它再次被調用。 (我真的希望在你的應用程序安裝完畢後立即啓動一個目標,以允許一些設置:))
我不知道這是否是總是如此,但'ACTION_USER_PRESENT' *可以*是在清單中註冊。它在仿真器和我的Desire Z(2.2)中都適用於我。 – 2011-07-26 08:49:59
ACTION_USER_PRESENT可以在清單中註冊,只要屏幕上存在任何鎖定方式(看起來)就可以工作,包括「拖動此欄解鎖」默認設置。如果您可以通過按下電源按鈕無障礙地進入主屏幕,則在測試的情況下,該意圖似乎不會觸發。 – MattC 2012-02-08 18:39:19
感謝doc錯誤,很多很好的工作...... :) – 2015-01-31 04:52:28