gpt4 book ai didi

android - onCreate 在 onActivityResult 之前和之后调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:35:03 24 4
gpt4 key购买 nike

我尝试按照以下方式打开相机:

...
private void runCamera() {
String storageState = Environment.getExternalStorageState();
if (storageState.equals(Environment.MEDIA_MOUNTED)) {

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imageFile = new File(Singleton.instanse.mPushFilePath);
mImageFileUri = Uri.fromFile(imageFile);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
mImageFileUri);
startActivityForResult(intent, CAMERA_RESULT);
}
...

如果我运行这个方法运行下一个方法:

07-16 19:46:22.264: I/System.out(6875): -onPause
07-16 19:46:26.104: I/System.out(6875): -onStop

我制作照片,结束运行下一个方法:

07-16 19:46:41.217: I/System.out(6875): -onDestroy
07-16 19:46:41.284: I/System.out(6875): -onCreate
07-16 19:46:41.291: I/System.out(6875): -onStart
07-16 19:46:41.295: I/System.out(6875): -onActivityResult
07-16 19:46:41.295: I/System.out(6875): -onResume
07-16 19:46:41.295: I/System.out(6875): -onPostResume
07-16 19:46:41.522: I/System.out(6875): -onPause
07-16 19:46:41.522: I/System.out(6875): -onStop
07-16 19:46:41.522: I/System.out(6875): -onDestroy
07-16 19:46:41.604: I/System.out(6875): -onCreate
07-16 19:46:41.612: I/System.out(6875): -onStart
07-16 19:46:41.616: I/System.out(6875): -onResume
07-16 19:46:41.616: I/System.out(6875): -onPostResume

为什么 onDestroy 运行两次?如何解决?这个问题在 Android 2.2 中发现。在 Android 2.3.3 中,onDestroy 从未调用过!

最佳答案

实际上,相机会导致您的 Activity 发生方向变化,这就是您的 Activity 被销毁并重新创建的原因。

将此添加到您的 list 文件中,它将防止方向更改,并且您的 Activity 将不会被破坏和重新创建。

<activity
android:name=".YourActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" >
</activity>

Activity killed / onCreate called after taking picture via intent

关于android - onCreate 在 onActivityResult 之前和之后调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com