我正在开发一个调用相机的应用程序,拍照并创建缩略图。它一直运作到现在......我不知道是什么原因,但现在当我拍照并点击" Save" (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);
}
有没有办法阻止&#34; onCreate&#34;是在拍照后打来的?
谢谢!
答案 0 :(得分:1)
没有。您只需要修复代码,使其在自然的Activity生命周期中起作用。当另一个活动实例到达前台时,您的上一个活动实例是否会保持活跃状态取决于设备(应用程序可用的内存量,是否&#34;不要保留活动&#34;在开发人员下检查)选项等。)
这是一个完全有效的案例,并且预计会在平台上发生,并且如果它被杀死,您的Activity应该能够正确处理保存和恢复其状态。
无论您在onCreate()
初始化的状态如何,只需确保将其保留在onSaveInstanceState()
中,并在onCreate()
再次发生时,检查savedInstanceState
是否为非-空值。如果不是,请恢复您保存的状态并继续。