2013-01-01 46 views
0

我在写提醒。我使用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 

我想这是因为激活锁定被隐式释放,释放指令引发异常,但显示器永远不会以这种方式关闭。

+0

你有没有试过FLAG_ACTIVITY_MULTIPLE_TASK? – Barakat

+0

@Barakat是的,它的工作原理。但在手册中说,除非你想拥有你的发射器,否则不要使用它。我怀疑它是否始终有效?如果你知道这个标志,请稍微解释一下。 – Ali

+0

您可以使用片段并将它们替换为onResume – Barakat

回答

0

FLAG_ACTIVITY_MULTIPLE_TASK它的工作原理。

相关问题