繁体   English   中英

Android Camera Intent再次调用onCreate

[英]Android Camera Intent calling onCreate again

我正在开发一个应用程序,该应用程序调用Camera(相机),拍照并创建缩略图。 到目前为止,它一直运行良好...我不知道是出于什么原因,但是现在当我拍照并单击“保存”(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仍然被调用。

拍照方法:

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);
}

有什么方法可以防止拍照后调用“ onCreate”?

谢谢!

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

这是完全正确的情况,预计会在平台上发生,并且如果活动被杀死,您的Activity应该能够正确地保存和恢复其状态。

无论您要在onCreate()初始化什么状态,只需确保将其保留在onSaveInstanceState() ,然后在再次发生onCreate()时,请检查savedInstanceState是否为非null。 如果不是,请恢复您保存的所有状态并继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM