![](/img/trans.png)
[英]android4.4 after factory reset device, the system app can't receive the BOOT_COMPLETED broadcast
[英]Can I still have BOOT_COMPLETED even if I don't launch the app after reboot?
因此,假設我的接收器和服務是正確的,即使重新啟動設備后, BOOT_COMPLETED
仍然可以運行,並且不會首次打開/啟動該應用程序嗎? 然后,鬧鍾在其到期日期和時間生效?
注意 :重新啟動后,我不會嘗試啟動該應用程序。
這是我的清單
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:persistent="true">
<receiver android:name="com.majimechibireminder2.OnBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<receiver android:name=".AlarmReceiver"></receiver>
<service android:name=".ChibiReminderService" >
</service>
<activity android:name=".ChibiRemind"></activity>
</application>
如果沒有,您能否建議我一些合適的代碼來實現我的理想。
將您的應用安裝到手機上后,至少需要對其進行一次清理,以使其能夠接收廣播。 如果您正在使用警報,則無需擔心,因為用戶將需要打開應用來設置特定警報。
當手機關閉時,鬧鈴會響起。 重新啟動完成后,您的應用程序將收到BootCompleted
操作。 重新啟動后無需啟動應用程序。
如果用戶在安裝應用后未打開您的應用,則表示他/她未設置任何警報。 因此,在這種情況下無需擔心重新啟動,因為重新啟動后無需重新設置。
更新:
嘗試將android:enabled="true"
屬性添加到您的接收器。 最終代碼應如下所示:
<receiver android:name=".OnBootReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
重新啟動后,由AlarmManager設置的警報將丟失(無需任何其他操作)。
這是JobScheduler API可以拯救的領域。 如果將它們設置為在重新啟動后仍然存在,則重新啟動后它們不會丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.