2013-06-20 80 views
2

我已經建立,其接收使用以下濾波器的接收器內BOOT_COMPLETED一個應用程序的所有設備沒有接收到:BOOT_COMPLETED意圖上

<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED" /> 

我收到此一臺設備上,但我有另一裝置,做即使使用相同的APK,也不會收到此信息。哪些設備特定問題可能會阻止特定設備接收此意圖?有沒有什麼方法可以測試這個並創建補救措施?

+0

什麼設備是特別不接受這個意圖是什麼? – Ahmad

+0

它是一個專有設備,但我測試的兩個設備都是相同的硬件版本。我可以通過logcat或其他什麼來分辨兩者之間會有什麼區別? – gonzobrains

回答

2

確保你正在做一個真正充分重啓。

例如,某些HTC設備具有「快速啓動」模式,該模式不會觸發BOOT_COMPLETED,而是會發送android.intent.action.QUICKBOOT_POWERON廣播。據我瞭解,「快速啓動」模式基本上是休眠,而不是真正的關機,所以他們不會發送BOOT_COMPLETED作爲結果。

(爲什麼Intent動作不是com.htc.action.QUICKBOOT_POWERON是一個整體的`nuther問題...)

+0

這是Google Play商店中許多應用聲稱重新啓動設備時的「快速啓動」模式嗎?當我的設備的硬件電源開關被按下時,它只提供標準的「關機」功能以及「飛行模式」。 – gonzobrains

+0

@gonzobrains:「這是Google Play商店中許多應用聲稱重啓設備時的」快速啓動「模式嗎?」 - 打敗我。您無法從沒有根目錄的應用程序重新啓動設備,而且我通常不會運行root。 「我的設備只提供標準的」關機「功能」 - 我的理解是,HTC的「快速啓動」選項是您在「設置」中的某處切換的選項。 – CommonsWare

+1

好的。我問,因爲我的Galaxy Relay 4G實際上提供了「重新啓動」選項以及「關閉電源」,這可以比關閉電源和重新開啓電源更快地重新啓動設備。我不確定這是否與「adb reboot」相同,或者是否有所不同。至於「重啓」應用程序,我認爲他們只是模擬重啓的噱頭,因爲他們沒有root權限。 – gonzobrains

2

的Android 3.1後,有些設備不會給BOOT_COMPLETED接收器後,該應用程序的控制。

谷歌一直表示,用戶應該推出從發射活動第一, 該應用程序之前,可以去做很多。被 傳遞之前,第一個活動啓動防止BOOT_COMPLETED相同 論點的邏輯延伸。

我不知道它使上一個區別的設備。

+0

奇怪的是,我的設備都是相同的硬件平臺。我可以想象的唯一區別是固件版本和/或其他可能會干擾的應用程序。 – gonzobrains