假设我在activityA中打开相机:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
在相机拍摄过程中,收到来自服务器的message,需要在activityA中,执行某些操作,例如addview
但是activityA已经不再forground了,这个时候怎么用code来finish拍照的activity?或者有没有其他的思路?
PHP中文网2017-04-17 17:59:48
이런 일은 사진을 찍고 돌아와야 할 수 있습니다. 먼저 메시지를 다른 곳에 저장한 후 Activity로 돌아올 때 onResume 중에 확인하여 처리되지 않은 메시지가 있는지 확인하고, 있으면 업데이트하세요.
高洛峰2017-04-17 17:59:48
사진을 찍는 액티비티를 닫을 필요는 없을 것 같습니다. 백그라운드에서 서버가 푸시한 메시지를 받으면 자동으로 액티비티A를 팝업할 수 있습니다. 즉, 액티비티A를 포그라운드에 놓거나, 알림 표시줄에 표시할 수도 있습니다. 팝업 알림을 표시하고 사용자가 계속 사진을 찍을 것인지 아니면 활동A를 입력할지 결정하도록 하여 문제를 해결할 수 있습니다.