我有点新,所以我有一个简单的问题,我创建了一个Xamarin.Android应用程序,并且将本地通知与警报管理器,广播接收器等配合使用来调度它们,我遇到的问题是重新引导设备或完全关闭状态并再次打开时,不会显示计划的通知。我的问题是:
这是Android内部的问题吗? 除此以外 我该怎么解决?
我希望有所帮助,谢谢
答案 0 :(得分:1)
默认情况下,设备关闭时所有警报都会被取消。
https://developer.android.com/training/scheduling/alarms
默认情况下,设备关闭时所有警报将被取消。为防止这种情况发生,可以将应用程序设计为在用户重新启动设备时自动重新启动重复警报。这样可以确保AlarmManager将继续执行其任务,而无需用户手动重新启动警报。
您需要监视BOOT_COMPLETE并重新设置警报。
https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED
清单:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".SampleBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
接收器:
class SampleBootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == "android.intent.action.BOOT_COMPLETED") {
// Re-set the alarm here.
}
}
}