Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从广播接收器恢复活动_Android_Android Activity_Broadcastreceiver - Fatal编程技术网

Android 从广播接收器恢复活动

Android 从广播接收器恢复活动,android,android-activity,broadcastreceiver,Android,Android Activity,Broadcastreceiver,我正在尝试从广播接收器的onReceive()方法中恢复活动,如下所示: Intent i = new Intent(context, TimerSet.class); i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); 但是,将重新创建活动(TimerSet.class),而不是继续。对于这个问题,我唯一推荐的解决方案是使用标志

我正在尝试从广播接收器的
onReceive()
方法中恢复活动,如下所示:

Intent i = new Intent(context, TimerSet.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
但是,将重新创建活动(
TimerSet.class
),而不是继续。对于这个问题,我唯一推荐的解决方案是使用
标志\u活动\u重新排序\u到\u前台
,但我已经在使用它了

另外,使用
Intent.FLAG\u ACTIVITY\u NEW\u TASK
不适合我的用例,但当我不提供它时,我会得到以下异常:

android:util.AndroidRuntimeException: Calling startActivity() from outside of an 
Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you 
want?

删除标志\活动\新任务标志。
同时添加此标志->标志\u活动\u清除\u顶部。这将阻止创建已存在的新活动。

我不确定这是否正是您的问题,但我遇到了一种情况,我收到通知,希望在不启动新实例的情况下启动我的应用程序(如果它已在运行) 我终于明白了这些方法是有效的。如果活动已在运行,则标记“活动”任务“新建”任务将不会启动新的瞬间。但是,它会将其添加到现有堆栈中。因此,我们可以做一个FLAG\u ACTIVITY\u CLEAR\u TOP,这样back会将用户带到主屏幕,而不是之前的状态

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

看到这个问题了吗?我不知道这是怎么回答我的问题的。@NickMaraston你能找到任何方法来使用FLAG\u ACTIVITY\u REORDER\u到\u FRONT吗?我可以将其用于Android的较新版本。但对于sdk 16,它有问题。。它错误地告诉我需要新任务标志。。这很可笑。当删除标志
标志活动\u新任务
时,异常仍然存在。只需添加滞后->标志活动\u清除\u顶部即可。让前一面旗帜保持不变。这对我有用。否则,如果您希望您的活动是单例的,还有另一个解决方案。