我使用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);
}