Android 从广播接收器恢复应用程序

Android 从广播接收器恢复应用程序,android,service,broadcastreceiver,resume,Android,Service,Broadcastreceiver,Resume,有没有办法从广播接收器恢复应用程序?(以启动器恢复或启动应用程序的方式) 我想在设备插入时执行此操作(别担心,这不会在Play store中进行) 似乎您必须使用标记活动\u新任务,否则您将收到运行时异常“从活动上下文外部调用startActivity()” 你的问题到底是什么?标题是“来自BroadcastReceiver的简历应用程序”,但你想知道什么?是否需要设置Intent.FLAG\u ACTIVITY\u NEW\u任务标志?是的。启动新任务不会恢复应用程序。它启动一个新的活动堆栈

有没有办法从
广播接收器
恢复应用程序?(以启动器恢复或启动应用程序的方式)

我想在设备插入时执行此操作(别担心,这不会在Play store中进行)

似乎您必须使用
标记活动\u新任务
,否则您将收到
运行时异常
“从活动上下文外部调用startActivity()”



你的问题到底是什么?标题是“来自BroadcastReceiver的简历应用程序”,但你想知道什么?是否需要设置Intent.FLAG\u ACTIVITY\u NEW\u任务标志?是的。启动新任务不会恢复应用程序。它启动一个新的活动堆栈。该问题询问是否有方法恢复现有任务
public class PowerReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals("android.intent.action.ACTION_POWER_CONNECTED")) {

            final Intent newIntent = new Intent(context, FooActivity.class);
            //newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            context.startActivity(newIntent);
        }
    }
}