[英]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.