Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android摄像头再次调用onCreate_Java_Android - Fatal编程技术网

Java Android摄像头再次调用onCreate

Java Android摄像头再次调用onCreate,java,android,Java,Android,我正在开发一个应用程序,可以调用相机、拍照和创建缩略图。我不知道是什么原因,但现在当我拍摄照片并点击“保存”(android的默认设置)时,onCreate方法被调用 所以,我的缩略图加载不再工作了 我已尝试修改我的Android清单: <uses-feature android:name="android.hardware.screen.portrait" /> <activity android:name=".MyActivity" andr

我正在开发一个应用程序,可以调用相机、拍照和创建缩略图。我不知道是什么原因,但现在当我拍摄照片并点击“保存”(android的默认设置)时,onCreate方法被调用

所以,我的缩略图加载不再工作了

我已尝试修改我的Android清单:

<uses-feature android:name="android.hardware.screen.portrait" />
<activity
        android:name=".MyActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:screenOrientation="portrait">
    </activity>
有什么方法可以防止在拍照后调用“onCreate”吗


谢谢

不需要。您只需要修复代码,使其在整个自然活动生命周期中正常工作。当另一个活动实例出现在前台时,您的上一个活动实例是否会保持活动状态取决于设备(应用程序有多少可用内存,是否在“开发人员选项”下选中“不保留活动”,等等)

这是一个完全有效的案例,预计会在平台上发生,如果活动被终止,您的活动应该能够正确处理保存和恢复其状态


无论您在
onCreate()
中初始化的是什么状态,只要确保将其保留在
onSaveInstanceState()
中,并且当再次发生
onCreate()
时,检查
savedInstanceState
是否为非空。如果不是,请恢复您保存的任何状态并继续。

Hi!您的评论是为了记住,我选中了开发人员选项“不保留活动”…无论如何,我必须开发savedInstance?基本上,“不保留活动”选项是一种设置,您可以启用它来触发在内存受限的环境中自然发生的事情。因此,在大多数情况下,如果未选中该设置,您的活动可能不会被终止。然而,没有保证,如果你不处理这个案件,你肯定会在现场发生一些事故。
public void takePicture() {

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    FileHelper fileHelper = new FileHelper(this);
    fileUri = fileHelper.saveFile();
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    // start the image capture Intent
    startActivityForResult(intent, ConstantsHelper.CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}