这真的很奇怪。我的代码可以在一台设备(装有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有什么特别之处吗?