簡體   English   中英

即使重新啟動后沒有啟動應用程序,我仍然可以擁有BOOT_COMPLETED嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM