为什么我无法从相机意图中得到结果?

时间:2019-02-10 16:14:53

标签: android android-intent android-camera-intent onactivityresult

这真的很奇怪。我的代码可以在一台设备(装有Android 7的MOTO G5S)上正常运行,但不能在另一台设备(装有Android 9的Galaxy S9)上正常运行。

我想拍照,这是我的代码:

private void takePicture(int file_id) {

    camFileId = file_id;

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE);
    File file = new File(wrkDir + currFullImageDir + "/" + file_id + ConstValues.IMG_FILE_EXTENSION);
    Uri uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
    intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uri);
    ((Activity) context).startActivityForResult(intent, ConstValues.CAM_REQEST_CODE);
}

在两个设备上都可以启动Camera Intent。但是在MOTO G5S上,拍摄照片时,有一个按钮可以接受或丢弃照片。在S9上,没有这样的东西。拍摄照片时,相机的意图完全不返回。如果按下后退按钮,它将返回,但是在onActivityResult(..)内我的数据为空(当然)。

我做错了什么吗?或者S9有什么特别之处吗?

0 个答案:

没有答案