原因:android.content.ActivityNotFoundException:找不到可处理意图{act=android.media.action.IMAGE\u捕获的活动

原因:android.content.ActivityNotFoundException:找不到可处理意图{act=android.media.action.IMAGE\u捕获的活动,android,Android,/*捕获图像法*/ private void captureImage() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//Start intent with Action_Image_Capture file = CameraUtils.getfile(Home.this); fileUri = CameraUtils.getOutputMedia

/*捕获图像法*/

 private void captureImage() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//Start intent with Action_Image_Capture

            file = CameraUtils.getfile(Home.this);
            fileUri = CameraUtils.getOutputMediaFileUri(Home.this);//get fileUri from CameraUtils
            intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);//Send fileUri with intent
            startActivityForResult(intent, CAMERA_REQUEST_CODE);//start activity for result with CAMERA_REQUEST_CODE

    }


   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case CAMERA_REQUEST_CODE:
                try {
                    //When image is captured successfully
                    if (resultCode == RESULT_OK) {
                        Log.d("Main", file.getAbsolutePath());
                    } else
                        Toast.makeText(this, R.string.cancel_message, Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    e.printStackTrace();
                }

                break;

        }
    }
错误

  Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 clip={text/uri-list U:file:///storage/emulated/0/Android/data/com.camera_demo/files/Pictures/Camera/IMG_20180402_151052.jpg} (has extras) }

检查您是否获得了正确的文件URI。您应该获得如下URI:

if(Build.VERSION.SDK_INT > Build.VERSION_CODES.M){
    picUri = FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", createImageFile());
}else{
    picUri = Uri.fromFile(createImageFile());
}
createImageFile()
类似于:

public File createImageFile() {
        // Create an image file name
        Date date = new Date();
        String timeStamp = Const.dateFormat.format(date);
        timeStamp = timeStamp + "_" + Const.imgTimeFormat.format(date);
        String imageFileName = "IMG_" + timeStamp + ".jpg";
        File albumF = getAlbumDir();
        File imageF = new File(albumF, imageFileName);
        return imageF;
    }
你忘了问问题。可能是重复的