我正在写一个提醒。我使用警报管理器在预定时间调用提醒活动。我想要一个新的 Activity 实例而不是恢复旧实例,因为我使用 setTheme 和其他一些必须在 UI 初始化之前调用的东西。
我从 Android Alarm an Clock 复制了这段代码:
Intent i = new Intent(context, ActivityReminder.class)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_USER_ACTION);
PendingIntent pi = PendingIntent.getActivity(context, 0, i, PendingIntent.FLAG_CANCEL_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, scheduled_time, pi);
我几乎尝试了所有标志都没有运气。
我还尝试完成 onPause 活动,因为它只是一个没有状态的提醒,但是那里出现了另一个问题:
java.lang.runtimeexception wakelock under-locked
我认为这是因为唤醒锁被隐式释放并且释放命令引发异常,但显示永远不会以这种方式关闭。