Android 在用棒棒糖相机拍摄照片后,在onActivityResult()方法中获取空意图

Android 在用棒棒糖相机拍摄照片后,在onActivityResult()方法中获取空意图,android,android-intent,intentfilter,android-camera-intent,Android,Android Intent,Intentfilter,Android Camera Intent,在棒棒糖和更高版本中从相机捕获图像时,在onActivityResult上获取结果数据为空 启动摄像头() @凌驾 onActivityResult(int请求代码、int结果代码、意图数据) getOutputMediaFileUri() getOutputMediaFile() 看起来您正在为来自片段的结果启动活动。在这种情况下,必须在片段和活动中重写OnActivityResult()方法。 看看这个答案。这应该会有所帮助 “在不询问用户的情况下更新应用程序”-非常简单。糟糕。主意会让我立

在棒棒糖和更高版本中从相机捕获图像时,在onActivityResult上获取结果数据为空

启动摄像头()

@凌驾

onActivityResult(int请求代码、int结果代码、意图数据)

getOutputMediaFileUri()

getOutputMediaFile()


看起来您正在为来自片段的结果启动活动。在这种情况下,必须在片段和活动中重写OnActivityResult()方法。 看看这个答案。这应该会有所帮助

“在不询问用户的情况下更新应用程序”-非常简单。糟糕。主意会让我立即卸载并向谷歌报告。先生,在通过alert请求是否更新之后,你实际上误解了我,然后我希望它自动更新其余内容@FildorI-see。那么,你只是想绕过游戏商店。用户仍然可以确认。有没有具体的理由避免玩商店?(只是好奇)总是这些信息的一个很好的来源。如果没有存储卡,你可以用它来存储在你的设备的内存中:PATH=android.os.Environment.getDataDirectory().toString()+“/data/your.package.name/Download/”当我回顾时,我想“你在说什么,这完全回答了问题”,现在我看看,哦,哇,我们在这个问题上有分歧吗:D
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        ((MyWebViewActivity) context).fileUri = CommonUtils.getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, ((MyWebViewActivity) context).fileUri);
        ((MyWebViewActivity) context).startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            if(fileUri!=null){
                file_path = fileUri.getPath();
                System.out.println("file-path---=" + file_path);
            }else{
                Toast.makeText(this, "Please try again", Toast.LENGTH_LONG).show();
            }
            if(!CommonUtils.isEmpty(file_path)){

            }
        } else if (resultCode == RESULT_CANCELED) {
            // "User cancelled image capture",
        } else {
            // failed to capture image
        }
    } 
File file = getOutputMediaFile(type);
    if (file != null) {
        return Uri.fromFile(file);
    }
    return null;
// External sdcard location
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "My Images");
    // Create the storage directory if it does not exist
    if (!mediaStorageDir.exists()) {
        if (!mediaStorageDir.mkdirs()) {
            return null;
        }
    }

    // Create a media file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
    File mediaFile;
    System.out.println("mediaStorageDir==" + mediaStorageDir);
    if (type == MEDIA_TYPE_IMAGE) {
        mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".png");
    } else if (type == MEDIA_TYPE_VIDEO) {
        mediaFile = new File(mediaStorageDir.getPath() + File.separator + "VID_" + timeStamp + ".mp4");
    } else {
        return null;
    }
    return mediaFile;