Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Android onActivityResult返回空意图_Android_Android Image Capture - Fatal编程技术网

Android onActivityResult返回空意图

Android onActivityResult返回空意图,android,android-image-capture,Android,Android Image Capture,我正试图从照相机中捕捉图像。但它在ActivityResult上返回空意图。 这是我的密码 CaptureImageFromCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

我正试图从照相机中捕捉图像。但它在ActivityResult上返回空意图。 这是我的密码

CaptureImageFromCamera.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, 7);
    }
});
而onActivityResult是

我是Android新手,所以请详细解释答案。
提前谢谢

通过以下步骤开始您的工作:

startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), 100);
因此,在从照相机捕获图像后,通过intent获取有关图像的数据:

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     Uri yourCapturedImage = intent.getData();
 }

确保您已添加相机权限、在清单中写入权限以及交叉验证运行时权限

使用下面的意图,并指定写入捕获图像的路径-

   intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

   Uri outputUri = Uri.fromFile("path of your directory");
   intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri);

   startActivityForResult(intent, 7);
您还可以在onActivityResult中使用setImageURI而不是setImageBitmap

首先,在android清单中添加摄像头权限。如果您的android版本大于棒棒糖,则需要添加运行时权限

然后在onActivityResult中使用setImageUrI

Uri imageUri=data.getData将不再工作。。 首先从如下数据中获取位图:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        val imageBitmap = data.extras.get("data") as Bitmap
        imageView.setImageBitmap(imageBitmap)
    }
}
然后保存位图图像。。详情请参阅:


你有没有提供拍照许可。如果android版本大于棒棒糖Pare,请确保在运行时授予相机权限。您确定intent对象为null或intent对象中的数据为null?已提供data intent is null相机权限。应用程序允许拍摄图像。但当我使用位图时,它会给出空位图
<uses-permission android:name="android.permission.CAMERA"/>
CaptureImageFromCamera.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, 7);
    }
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

     switch (requestCode)
        {
            case 7:
                /*case 7 for image results and display image in imageview via Uri*/
                if (resultCode == RESULT_OK)
                {
                    Uri imageUri = data.getData();
                    ImageViewHolder.setImageURI(imageUri);
                }
                return;
           default:
                return;
        }
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        val imageBitmap = data.extras.get("data") as Bitmap
        imageView.setImageBitmap(imageBitmap)
    }
}