首页 > 解决方案 > 设备重新启动(或类似状态)Android 时本地通知不显示

问题描述

我有点新,所以我有一个简单的问题,我创建了一个 Xamarin.Android 应用程序,我使用本地通知和警报管理器、广播接收器等来安排它们,我遇到的问题是我的预定通知是设备重新启动时不显示,或完全关闭状态并再次打开。我的问题是:

这是Android内部的问题吗?否则我该如何解决?

希望有帮助,谢谢

标签: androidxamarinxamarin.androidnotificationslocalnotification

解决方案


默认情况下,设备关闭时会取消所有警报。

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.
        }
    }
}

推荐阅读