我有两项活动(A1,A2).A1调用A2,从A2调用相机意图,如下所示
launchIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
launchIntent.putExtra(MediaStore.EXTRA_OUTPUT,photoPath);
startActivityForResult(launchIntent,CAMERA_REQUEST);
Run Code Online (Sandbox Code Playgroud)
它打开相机,我可以拍照.但是当我点击保存按钮(s3中的勾选按钮)时出现问题,我的onActivityResult没有被调用,而是调用了A2的onDestroy方法.我在onActivityResult fn中完成的逻辑很少.
我已经阅读了Stackoverflow中的一些关于此的帖子,但我无法从中得到有用的输出.我的第二个活动(A2)有我的清单
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait
Run Code Online (Sandbox Code Playgroud)
注意:在HTC One X中我的onActivityResult fn被调用,但在我的S3中,第二个Activity(A2)被破坏了
Plz分享你对此的想法.提前致谢
我尝试以下方式打开相机:
...
private void runCamera() {
String storageState = Environment.getExternalStorageState();
if (storageState.equals(Environment.MEDIA_MOUNTED)) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imageFile = new File(Singleton.instanse.mPushFilePath);
mImageFileUri = Uri.fromFile(imageFile);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
mImageFileUri);
startActivityForResult(intent, CAMERA_RESULT);
}
...
Run Code Online (Sandbox Code Playgroud)
如果我运行此方法运行下一个方法:
07-16 19:46:22.264: I/System.out(6875): -onPause
07-16 19:46:26.104: I/System.out(6875): -onStop
Run Code Online (Sandbox Code Playgroud)
我制作照片,结束下一步的方法:
07-16 19:46:41.217: I/System.out(6875): -onDestroy
07-16 19:46:41.284: I/System.out(6875): -onCreate
07-16 19:46:41.291: I/System.out(6875): -onStart
07-16 19:46:41.295: I/System.out(6875): -onActivityResult
07-16 19:46:41.295: I/System.out(6875): -onResume
07-16 19:46:41.295: I/System.out(6875): -onPostResume
07-16 19:46:41.522: I/System.out(6875): -onPause
07-16 19:46:41.522: I/System.out(6875): -onStop
07-16 19:46:41.522: I/System.out(6875): -onDestroy
07-16 19:46:41.604: …Run Code Online (Sandbox Code Playgroud)