1.其实也不能叫华为mate9的bug,我想在可能Android7.0的手机都有这个问题!起因是因为一直有用户反馈华为p9上传照片上传不上去!我用测试机(4.4系统)没有问题,同事的5.0和6.0的手机也没有问题!最开始我以为只是权限问题,但是苦于没有7.0的手机,所以一直没法测试。云测试要给钱,谁给我推荐个免费的云测试啊(7.0)!
2.今天同事居然买个了华为mate9,一看系统Android7,果断拿来测试!发现还真上传不上去,直接白屏,然后此页面就死了!都还美誉照相呢,我怀疑是权限问题!但是我用了easypermissions来授权啊!难道是假授权,我去看了看应用的权限管理,发现相机和存储都是授权了的!看错误信息也是说什么Uri不行!我只能怀疑是文件路径不对了!
3.于是网上找到了,解决问题三部曲。快速使用FileProvider解决Android7.0文件权限问题因为从log错误看,就是找不到这个文件!根据此博客的三步操作后,我期待奇迹的发生。可是,现实不会那么顺利,logcat还是给我说,你没有发现这个文件夹下的图片!我去,你能不能仔细给我找找啊。
4.于是我又开启了百度google之路,又发现了这篇 FileProvider无法获取外置SD卡问题解决方案 | Failed to find configured root that contains看看他有什么不同的。在博客最后作者说到了获取外置SD卡失败导致的原因。所以xml配置要用root-path,但是我一直没有考虑这个外置SD卡的原因。因为现在都是一体机了!看手机内存的话就只能看到一个存储64G,可用存储50G,我就以为没有外置SD卡。但没想到居然改为root-path后,还真的没有问题了!太感谢了这位了!
5.总结 :别人为什么能发现问题解决问题,关键还是会看源码,从源码和官方文档中找寻解决问题的办法。所以我们在感谢别人为自己解决了问题的同时,还要想想自己是不是更应该学习他们学习的方式,而不仅仅是学习他们留给我们的知识!