记录开发中遇到的坑(华为手机获取拍照权限后拍照,返回值为空)!

目前在开发中遇到了需要拍照和从图库中选择图片展示并上传的功能。按部就班的进行开发,到最后阶段了。结果公司几个华为手机测试的时候出了问题。拍照后拿到的照片永远是空的。这就尴尬了,毕竟我这里的开发机只有个渣渣三星,还是4.0的系统。哪玩过7.0的高大上。马上借来观摩查找。代码就不用贴了,点击拍照完后拿到的路径就是个null。

经过排查。原来是华为在7.0以后的系统中,对于拍照后返回的图片也做了权限处理。所以说,华为7.0在拍照的时候,不仅要拿到拍照CAMERA的权限,还要拿到读写文件的权限

WRITE_EXTERNAL_STORAGE。具体对权限的操作我贴个代码出来吧。

    public void takePhone() {
        if (Build.VERSION.SDK_INT >= 23) {
            int checkCallPhonePermission = ContextCompat.checkSelfPermission(getActivity(),
                    Manifest.permission.CAMERA);
            if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA,}
                        , MY_PERMISSIONS_REQUEST_CALL_PHONE);
            } else if (ContextCompat.checkSelfPermission(getActivity(),
                    Manifest.permission.WRITE_EXT
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为手机的 BuildConfig 为空可能是由以下原因造成的: 1. Android Studio 配置问题:在构建华为手机的应用程序时,可能出现了构建配置问题。确保在 Android Studio 的项目配置文件正确设置了 BuildConfig。 2. 编译错误:在编译过程,可能发生了错误,导致 BuildConfig 文件为空。这种情况下,需要检查代码是否存在错误,并修复它们。比如,检查是否缺少了所需的库文件或资源文件。 3. 构建类型错误:可能选择了错误的构建类型,而导致 BuildConfig 文件为空。请确保选择的构建类型与华为手机的要求相匹配,并且保证构建类型的变量和配置正确设置。 了解产生问题的具体原因可以通过以下步骤进行调试: 1. 检查项目配置:在 Android Studio 打开项目并确保正确设置了 BuildConfig。可以通过在项目文件搜索 BuildConfig 配置的位置,检查其是否正确设置。 2. 检查编译输出:查看编译输出的日志,查找任何与 BuildConfig 相关的错误或警告信息。这些信息可能会提供有关问题所在的线索。 3. 检查依赖项和资源文件:确保项目所需的库文件和资源文件已正确添加,并且在构建过程没有发生错误。 4. 调试代码:如果以上步骤没有提供足够的信息,可以尝试调试代码。通过逐步执行代码并查看变量的值,可以找到可能导致 BuildConfig 为空的具体原因。 总之,当华为手机的 BuildConfig 为空时,可能是由于配置问题、编译错误或构建类型错误所致。通过检查项目配置、编译输出、依赖项和资源文件,以及调试代码,可以找到并解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值