小编Anu*_*hav的帖子

从相机应用程序通过意图返回时,Android活动被破坏

我的活动使用用户定义的对象来跟踪进度.当用户按下按钮并将其存储在其中一个对象中时,我需要从相机中获取图像.

问题是,有时它工作正常,但很多时候它重新初始化我的活动,因此所有对象和我的进度都丢失了.据我所知,这可能是因为相机是一个内存密集型应用程序,而在后台,操作系统会破坏我的应用程序以释放内存.

我宁愿不让我的对象Parcable,然后将它们保存到Bundle.

我修改了我的android清单,以便活动标签包含

android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)

这是我的相机意图

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent,REQUEST_IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

这是onActivityResult方法

protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK )
        modifyResponseView_image();
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了更多的建议,并认为将我的活动保持在前台可能会有所帮助,但我不确定它是否会发生,也不确定如何去做.

我们将非常感谢您提供的任何帮助.应用此功能的替代方案也会有所帮助.

android android-intent android-camera android-activity

2
推荐指数
1
解决办法
2276
查看次数