第三个项目部分bug集

这篇博客列举了Android开发中遇到的一些典型bug,包括获取系统图片路径为null、superNotCallException、图片二维码扫描识别、上传图片base64链接过长、调用相机拍照并更新相册等问题,详细介绍了这些问题的出现原因、解决过程和相应的修复方案。
摘要由CSDN通过智能技术生成

(一)获取系统图片路径为null

参照:吴小龙同学的博客

(二)superNotCallException

出现原因:在onRestart()方法中没有调用super.Restart()

过程:这个bug是出现在绑定设备当中的,绑定设备需要同意条款,和登陆注册一样一般需要勾选一个checkbok,先同意条款才能进行后面的操作,客户的需求是默认条款未选中,当用户点击进入阅读条款后,回到界面就默认勾选了,所以我就在onRestart中写了个

 @Override
    protected void onRestart() {

        if (isRead == true) {
            mIdReadImg.setSelected(true);
        }
    }

问题就出在这,因为我粗心把super.Restart()给删掉了,与其说是粗心,不如说是没有理解,其实一直不知道这个super.Restart有什么作用,因为进入查看源码是这样的、

 protected void onRestart() {
        throw new RuntimeException("Stub!");
    }

只是抛了个异常,并没有做什么事情,所以总觉得他没用,

protected void onRestart() {
        throw new RuntimeException("Stub!");
    }

其实不是这样的,这个onRestart()调用的是framework层的代码,之所以看不到源码是因为androidStudio没有关联源码,看了这篇文章关联源码AndroidStudio关联系统源码 还是不能正常查看Restart里面的源码,总之一点是可以确定的,onRestart里面绝对不仅仅是抛了个异常,而是做了许多事情,写在framework里面,暂时无法查看

解决方式:在重写的onRestart中调用super.Restart()

  @Override
    protected void onRestart() {
        super.onRestart();
        if (isRead == true) {
            mIdReadImg.setSelected(true);
        }
    }

(三)图片二维码扫描和图片二维码识别

出现原因:为了适配6.0对zxing中的相关代码做了些许调整,在调整的过程中出现了问题,导致后面的问题

过程:由于6.0对权限做了处理,许多权限都需要动态添加,其中有一个错误就是图片二维码识别的时候出现的,由于只动态添加了照相机的权限,并没有动态添加读取sdcard的权限,而且报的错也没有明确提示是权限问题,这里耽误了些时间,还有一个问题就

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值