首页 > 解决方案 > 为什么我无法从相机意图中获得结果?

问题描述

这真的很奇怪。我的代码在一台设备(搭载 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);
}

启动相机意图适用于两种设备。但在 MOTO G5S 上,拍照时,有一个按钮可以接受或丢弃照片。在 S9 上,没有这样的东西。拍摄照片时,相机意图根本不会返回。如果按下后退按钮,它会返回但在onActivityResult(..)我的数据中为空(当然)。

我做错了什么还是S9有什么特别之处?

标签: androidandroid-intentandroid-camera-intentonactivityresult

解决方案


推荐阅读