我需要創建一個BroadcastReceiver,每次設備啓動時立即執行某些任務。另外,當點擊某個按鈕時,接收器應該在啓動時停止啓動。有人可以幫我管理嗎?android註冊一個永久廣播接收器
0
A
回答
3
所有你需要解決你的問題的第一部分是讓BroadcastReceiver
它在聲明它的表現爲:
<receiver android:name=".MyBootReceiver"
android:enabled="true"
>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
的QUICKBOOT_POWERON
是必要的,有些設備不發BOOT_COMPLETED
廣播。 HTC設備喜歡使用quickboot之一。
對於問題的第二部分,有幾種不同的方法可以實現這一點。您可以簡單地設置SharedPreferences
中的值,以便接收機在每次觸發時都會進行檢查,如果該值指示,則立即退出。
您還可以禁用代碼接收器:
getPackageManager().setComponentEnabledSetting(
new ComponentName(this, MyBootReceiver.class),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
您可以用同樣的方法打開它:
getPackageManager().setComponentEnabledSetting(
new ComponentName(this, MyBootReceiver.class),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
我不能確定這種方法的持久性。我在我的一個應用程序中使用它,但它不適用於引導接收器,它不必在靴子中保留。如果你想要走這條路線,你必須試驗一下。
+0
謝謝,我會試試看! – Droidman
相關問題
- 1. Android廣播接收器註冊問題
- 2. 廣播接收器的問題,註冊的廣播接收器
- 3. 註冊廣播接收器清單中
- 4. 如何註冊廣播接收器?
- 5. 註冊廣播接收器編程
- 6. 廣播接收器未註冊
- 7. 動態註冊廣播接收器
- 8. 永恆廣播接收器
- 9. 持久廣播接收器
- 10. Android:從小部件註冊和註銷廣播接收器(ACTION_TIME_CLICK)
- 11. Android廣播接收器註冊清單時需要註銷嗎?
- 12. 廣播接收器註冊和註銷未在Android的
- 13. 從android中的Java代碼註冊永久接收器
- 14. 問題的廣播接收器(接收器未註冊錯誤)
- 15. 何時取消註冊onCreate中註冊的廣播接收器?
- 16. 註銷廣播接收器
- 17. 取消註冊已接收短信的廣播接收器
- 18. 註冊廣播接收器對於接收到的SMS
- 19. Android廣播接收器:在java代碼vs清單中註冊接收器
- 20. 如何在Android中取消註冊廣播接收器
- 21. Android - 爲兩種意圖註冊廣播接收器?
- 22. Android電池信息,無需註冊廣播接收器?
- 23. Android:多次註冊一個接收器
- 24. Android廣播接收器
- 25. Android MMS廣播接收器
- 26. Android廣播接收器
- 27. Android。廣播接收器
- 28. 在一個新線程中註冊一個服務的廣播接收器
- 29. 廣播接收器 - 如果在onResume/onPause上註冊/取消註冊,您是否會錯過一些廣播?
- 30. 註冊廣播接收機的正確方法android
你有什麼試過?有很多的問題,例如:http://stackoverflow.com/questions/2784441/trying-to-start-a-service-on-boot-on-android – qzikl
問題是當點擊某個按鈕時停止BroadcastReceiver 。這個特定按鈕是在你的應用程序還是其他的? –
我的應用程序只。謝謝你們,Ralgha的解決方案似乎工作 – Droidman