0

我正在写一个提醒。我使用警报管理器在预定时间调用提醒活动。我想要一个新的 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

我认为这是因为唤醒锁被隐式释放并且释放命令引发异常,但显示永远不会以这种方式关闭。

4

1 回答 1

0

FLAG_ACTIVITY_MULTIPLE_TASK 有效。

于 2015-11-10T12:13:18.203 回答