Android 按下电源按钮后保持活动运行

Android 按下电源按钮后保持活动运行,android,android-activity,Android,Android Activity,我正在使用startActivityForResult启动活动,然后按下电源按钮。只有在唤醒屏幕后,活动才会停止,onActivityResult才会触发。尝试在启动该活动之前获取WakeLock,以允许在后台运行该活动并检索活动结果,但该活动在屏幕锁定后仍会停止,并且不会完成 我想要的是在屏幕锁定后完成活动,并将其结果传递给上一个。以下是我使用的代码: ActivityUtils.acquireWakeLock(Constants.TAG_NEXT); Intent intent = new

我正在使用startActivityForResult启动活动,然后按下电源按钮。只有在唤醒屏幕后,活动才会停止,onActivityResult才会触发。尝试在启动该活动之前获取WakeLock,以允许在后台运行该活动并检索活动结果,但该活动在屏幕锁定后仍会停止,并且不会完成

我想要的是在屏幕锁定后完成活动,并将其结果传递给上一个。以下是我使用的代码:

ActivityUtils.acquireWakeLock(Constants.TAG_NEXT);
Intent intent = new Intent(ActivityUtils.getActivity(), NextActivity.class);
ActivityUtils.getActivity().startActivityForResult(intent, NEXT_RESULT);
NextActivity完成后,我想在这里得到结果:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == PlayerControl.NEXT_RESULT) {
        if (resultCode == Activity.RESULT_OK) {
            // do stuff
        }
        ActivityUtils.releaseWakeLock(Constants.TAG_NEXT);
    }
    super.onActivityResult(requestCode, resultCode, data);
}

听起来您应该使用AsyncTask而不是第二个活动。现在不想破坏代码体系结构。但你是对的。