我正在写提醒。我使用Alarm Manager在预定的时间调用提醒活动。我想要一个新的Activity实例,而不是恢复旧的实例,因为我使用setTheme和其他一些必须在UI初始化之前调用的东西。
我从Android闹钟中复制了此代码:
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
我认为这是因为wakelock被隐式释放而release命令引发异常,但显示从未以这种方式关闭。
答案 0 :(得分:0)
FLAG_ACTIVITY_MULTIPLE_TASK可行。