【发布时间】:2018-09-13 13:16:14
【问题描述】:
我有一个提醒应用,即使手机处于打盹模式,它也需要按时显示提醒。这在使用 Android 7.1 SDK 编译时似乎很好。
我的 BroadcastReceiver 在启动时获得 WAKE_LOCK 并在 finally 子句中释放它。它还将活动记录到本地 SQLLite 数据库(用于调试)
我现在已更改为使用 Android 8.1 SDK 进行编译,但一切正常
当手机未处于打盹模式时。
但是,当手机进入打瞌睡模式时,应用程序会在警报的适当时间崩溃。我的日志记录语句是 OnReceive 中的第一行,没有被调用。
我为未捕获的异常设置了陷阱,这些异常向 AppCenter 报告并在本地记录。这些适用于其他例外情况。
TaskScheduler.UnobservedTaskException += ReportUnobservedTaskException;
AppDomain.CurrentDomain.UnhandledException += ReportUnhandledException;
AndroidEnvironment.UnhandledExceptionRaiser += ReportThrowableEvent;
谁能告诉我这可能失败的原因和位置,或者我如何才能更好地调试它? 自从移动 8.1 SDK 进行编译以来,感觉就像是发生了变化,但我看不到任何会影响这一点的变化。
【问题讨论】:
-
logcat中报告了什么? -
我是 Android 开发新手,尚未在设备上完成此操作。我会用谷歌搜索,然后回复你。
-
OK - 没有意识到 Visual Studio 中的 DeviceLog 显示了设备未连接时发生的事件(我知道,愚蠢)。
-
看起来是写入日志数据库的行为导致了问题 - 大概是因为我还没有唤醒锁!一种观察者效应。我将在今天晚些时候使用这些日志语句进行重建并报告发生的情况。感谢您的帮助
-
NP,如果需要,请在您遇到问题时发布更新...
标签: android forms xamarin wakelock