Android:调用相机 Intent 后 Activity 被破坏

标签 android android-activity android-camera-intent

我有两个 Activity (A1,A2)。 A1 调用 A2 并从 A2 我调用相机 Intent 如下

launchIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
launchIntent.putExtra(MediaStore.EXTRA_OUTPUT,photoPath);   
startActivityForResult(launchIntent,CAMERA_REQUEST);

它打开相机,我可以拍照。但是,一旦我单击保存按钮(s3 中的勾选按钮),就会出现问题,我的 onActivityResult 不会被调用,而是会调用 A2 的 onDestroy 方法。我在 onActivityResult fn 中几乎没有逻辑要做。

我在 Stackoverflow 上读过一些关于此的帖子,但我无法从中获得有用的输出。我的第二个 Activity(A2) 有这样的 list

android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait

注意:在 HTC One X 中,我的 onActivityResult fn 被调用,但在我的 S3 中,第二个 Activity(A2) 被破坏

请分享您对此的看法。提前致谢

最佳答案

我遇到了同样的问题。我会发疯的,但最后我找到了解决方案 here . 问题是,当您单击相机的“保存”按钮时, Activity 调用更改方向方法,它将销毁并重新创建。 尝试设置

android:configChanges="orientation|screenSize"

在 android list 中(不仅是 android:configChanges="orientation",因为根据建议 here,它不适用于 API 级别 13 或更高级别)。

它可以防止破坏 Activity ,它对我有用。

关于Android:调用相机 Intent 后 Activity 被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014930/

相关文章:

java - 字符串传递到不同 fragment 时不会更新?

android - 监听器绑定(bind);找不到二传手

android - 检查Android互联网连接的完美功能,包括蓝牙锅

android - 使用 putExtra 传递 ArrayList<Object> 数据

Android:使用相机 Intent 拍照并将其保存到 java.io.File

java - Android 拍照无预览无交互

android - 在Android中获取Scrollview中ImageView的id

android - 如何获取打开的列表项并显示另一个 Activity

android - 在 Android 中设置根 Activity/Intent

android - ACTION_IMAGE_CAPTURE 返回图像质量差的位图,我在哪里可以获得高分辨率图像?