我正在关注this
但我不想每次都重新启动手机以更新 REPEAT_TIME 。我在清单上有一些奇怪的东西
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
和
<receiver android:name="MyScheduleReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
我不希望在我的应用上与BOOT相关的任何内容。我能做什么? 修改 当我完全卸载应用程序并尝试运行它。该服务不会开始。我需要重新启动手机并再次运行它。为什么这样? 我不想重新启动手机
答案 0 :(得分:1)
添加
<receiver android:name=".MyScheduleReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
到您的清单将确保在Android设备重新启动时调用MyScheduleReceiver
。
至于为什么你可能需要这个:
如果您使用AlarmManager
设置警报来安排某些事情,那么当您的手机关机时,Android会终止您的警报,因此您需要在手机重启时再次设置警报。然后,您可以在MyScheduleReceiver
。
答案 1 :(得分:1)
您的问题不明确,您发布的链接中的教程实际上非常广泛,因此您不清楚自己要做什么。
根据您的问题,我只能假设您正在尝试使用AlarmManager
创建警报以定期启动Service
。
在这种情况下,您应该知道在关闭/重新启动设备时会删除警报。这意味着在设备重新启动时使用BroadcastReceiver
重新创建任何警报是正常的。
如果设备未关闭电源,则无需执行任何操作即可保留重复警报。