android - 设备重新启动(或类似状态)Android 时本地通知不显示
问题描述
我有点新,所以我有一个简单的问题,我创建了一个 Xamarin.Android 应用程序,我使用本地通知和警报管理器、广播接收器等来安排它们,我遇到的问题是我的预定通知是设备重新启动时不显示,或完全关闭状态并再次打开。我的问题是:
这是Android内部的问题吗?否则我该如何解决?
希望有帮助,谢谢
解决方案
默认情况下,设备关闭时会取消所有警报。
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.
}
}
}
推荐阅读
- database - Datadog:如何获取 redis cpu 使用指标?
- java - 当通过 cmd 执行 Maven 测试时,Maven 将无法识别“/src/main/java”中文件的 testNG 注释
- javascript - 修复错误:对象作为 React 子对象无效(找到:带有键 {_40、_65、_55、_72} 的对象)
- matrix - 为什么我的 WebGL 3D 到 2D 投影会给出错误的结果?
- pyqt5 - Vtk 多重渲染交互 - 层上的交互
- r - curly curly 错误:未为 quosures 定义基本运算符
- angular - Firestore 活动文档快照侦听器中断排序
- azure-pipelines - 除了项目集合构建服务之外,是否还需要“允许项目范围的构建”
- system-verilog - 如何使用 $urandom_range 使我的 LED 以随机方式点亮?
- lua - 我将如何更改 roblox 中仅一个用户的颜色