android - 为什么我无法从相机意图中获得结果?
问题描述
这真的很奇怪。我的代码在一台设备(搭载 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有什么特别之处?
解决方案
推荐阅读
- java - 使用组合时如何从组合类到达主类?
- c# - C#如何压缩大字符串?
- javascript - 如何删除 Discord.js 中特定用户对消息的反应?
- jetbrains-ide - DataGrip - 如何显示表的授权?
- haskell - 恒等函子是什么样子的?
- cakephp - CakePHP 3.x - viewBuilding()->setLayout('blank') 不工作
- r - 在 Rmarkdown 中使用 KableExtra 生成的列标题中添加百分号 (%)
- google-cloud-platform - 是否需要 OAuth 开发人员验证过程已经验证?
- javascript - 点击 v-for Div 获取对象数据
- snowflake-cloud-data-platform - Snowflake 中对非常大的表进行删除操作的最佳方法是什么?