gpt4 book ai didi

android - 从相机返回后 Activity 被杀死

转载 作者:行者123 更新时间:2023-11-30 03:22:29 24 4
gpt4 key购买 nike

在我的应用程序中,我调用系统相机拍照,然后在 onActivityResult 中处理结果。它曾经有效,但现在我的调用 Activity 有时会被杀死,有时效果很好。我需要大图,所以我必须使用 intent.putExtra(MediaStore.EXTRA_OUTPUT, output),如果没有这个(比如使用 Intent 数据来获取位图),它就可以工作美好的。拍照后,点击“确定”按钮,我需要它返回 Activity 启动相机,但有时它工作正常,有时父 Activity 完成。搜索后,我设置了 android:alwaysRetainTaskState="true",但这不起作用。我的系统是 Galaxy S I9000,我也在其他手机上测试过,但效果很好。有人知道为什么吗?这是我的代码

  private void startTakePhoto(){
App.fileNameWithPath = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + System.currentTimeMillis()+".jpg";
File file = new File(App.fileNameWithPath);
Uri output = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, output);
boolean flag = BaseUtil.hasImageCaptureBug();
System.out.println(flag);
//intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileNameWithPath)));
//BaseUtil.saveImagePath(App.fileNameWithPath, this);
startActivityForResult(intent, REQUEST_TAKE_PHOTO);
}
It like this :I want is 1. A  start B (stack: A,B)2. B start camera activity and wait For Result (stack:A,B,camera) 3. save picture,return B activity (stack: A,B)but on step 3, it not return to B,but A.It seems like B is finished by the system, why?

最佳答案

http://developer.android.com/reference/android/app/Activity.html原因是因为Android中的内存管理。据我所知,您的手机有大约 100mb 的可用内存,如果您的 Activity 不在前台,它可能会被销毁。所以这就是为什么你应该实现你的 Activity 的一些方法来启动它是 onPause、onDestroy 和 on Resume 方法。只需将您的所有信息保存在 Bundle 中并快速启动 Activity。

关于android - 从相机返回后 Activity 被杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18869112/

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