2016-06-14 50 views
-1

我試圖讓一個BOOT_COMPLETED接收器在Galays S5 Neo設備(運行5.1.1)上工作以在設備完全啓動後立即啓動服務引導。接收器未在Galaxy S5上啓動後接收意圖(僅限電池!)

所以在清單中,我定義

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

,並還增加了接收器的BOOT_COMPLETED意圖

<receiver android:name="com.xyzMyApp.BootCompleteReceiver" > 
    <intent-filter android:priority="999" > 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

如果使用電池或不使用此工作正常上幾乎所有的設備不管。在Galaxy S5 Neo上,只有當設備連接到啓動電源時才能工作。如果我在電池上使用設備並重新啓動,則可能需要5分鐘時間才能收到意圖。

我也嘗試接收其他廣播,如android.net.wifi.RSSI_CHANGEDandroid.intent.action.USER_PRESENTandroid.intent.action.TIME_TICK,以便將它們用作引導完成事件的替代品。這個想法是,這些事件經常發生,所以在重新啓動之後,直到其中一個接收器被觸發纔會花費很長時間。結果表明,行爲是一樣的,在電池上它可能需要幾分鐘時間,直到任何接收機收到任何意圖。

我還禁用了我在系統設置中找到的應用程序的各種電池優化,但沒有解決問題。

感謝您的每一個提示或想法。

回答

0

嘗試添加QUICKBOOT_POWERON一些設備具有issues在接受BOOT_COMPLETED廣播:

<receiver android:name="com.xyzMyApp.BootCompleteReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
    </intent-filter> 
</receiver> 

另外,還要確保你的應用程序沒有安裝在外部存儲(SD卡)的建議on this answer

+0

感謝,我試過了,似乎這不是bootup_completed問題,因爲在啓動後沒有事件立即生效,不僅是啓動事件 – homtg