Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 摄像头意图调用onDestroy()_Java_Android_Android Camera Intent - Fatal编程技术网

Java 摄像头意图调用onDestroy()

Java 摄像头意图调用onDestroy(),java,android,android-camera-intent,Java,Android,Android Camera Intent,在我的应用程序中,我想单击PhotofromCamera,并想在onActivityResult()方法中从camera结果中获取内容URI 在我的应用程序中,我使用下面的方法获取内容URL Uri currImageURI; ArrayList<Uri> imageItems = new ArrayList<Uri>(); @Override protected void onActivityResult(int requestCode, int

在我的应用程序中,我想单击PhotofromCamera,并想在
onActivityResult()
方法中从camera结果中获取内容
URI

在我的应用程序中,我使用下面的方法获取内容URL

Uri currImageURI;
ArrayList<Uri> imageItems = new ArrayList<Uri>();
    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub
            if((requestCode == SELECT_PICTURE_FROM_CAMERA && resultCode == RESULT_OK) || (requestCode == SELECT_PICTURE_FROM_LIB && resultCode == RESULT_OK)) {
                currImageURI = data.getData();
                imageItems.add(currImageURI);
                Toast.makeText(UpdateMyServiceActivity.this, "Image added.", Toast.LENGTH_LONG).show();
            }
        }
这就是为什么我得到arrayList null

如何解决这个问题

currImageURI = data.getData();
如果您使用的是
操作\u图像\u捕获
,则此代码不正确
ACTION\u IMAGE\u CAPTURE
不会返回
Uri
,尽管少数相机应用程序会返回。相反,您在
动作图像捕获
意图
本身上提供
额外输出
。然后,您保留在
EXTRA\u输出中使用的任何值,并在
onActivityResult()
中查找图像

这就是为什么我得到arrayList null

您的活动正在被销毁和重新创建,可能是因为您的进程在摄像头应用程序处于前台时被终止。这是完全正常的。当你的应用程序不在前台时,你的进程可以随时终止

如何解决这个问题

currImageURI = data.getData();

每次我从camera intent获取URI时,通过保存的实例状态
Bundle

按住
ArrayList
。示例URI:
content://media/external/images/media/8484
@ChiragSavsani:你不会从任何Nexus设备上得到一个。如果您阅读了文档,
ACTION\u IMAGE\u CAPTURE
没有文档化以返回
Uri
。相机应用程序不需要返回
Uri
.Oh。非常感谢你为这个话题指点。所以现在我必须改变我的代码。非常感谢您提供的信息。