Android拍照与相机适配问题汇总

该博客总结了Android拍照时遇到的各种适配问题,包括onActivityResult返回为空、照片存储失败、命名错误、预览绿屏、拍照后崩溃等问题,并针对三星、酷派等特定机型提供了详细的解决方案。
摘要由CSDN通过智能技术生成

问题一:onActivityResult方法中的data返回为空。

问题原因:使用Intent调用手机内相机程序时,如果我们设置了照片的存储路径时,有数据表明,93%的机型的data将会是Null,所以如果我们指定了路径,就不要使用data来获取照片,起码在使用前要做空判断。

解决方案:使用onActivityResult中的intent(data)前要做空判断。

问题二:照片无法存储。

问题原因:如果自定义存储路径是/mnt/sdcard/pictures/,而手机SD卡下在拍照前没有名为pictures的文件夹,那么部分手机拍照后图片不会保存,导致我们无法获得照片,大多数手机的相机遇到文件夹不存在的情况都会自己创建出不存在的文件夹,而个别手机却不会创建。

解决方案:在指定存储路径前先判断路径中的文件夹是否都存在,不存在先创建再调用相机。

问题三:照片可以存储,但是名字不对。

问题原因:file:///mnt/sdcard/123 1.jpg,由于URI的fromFile方法会将路径中的空格用“%20”取代。
其实对于大多数的手机这都不算事,手机在解析存储路径的时候都会将“%20”替换为空格,这样实际上最终的照片名字还是我们当初指定的名字:123 1.jpg,遗憾的是个别手机(如酷派7260)系统自带的相机没有将“%20”读成空格,拍照后的照片的名字是123%201.jpg,我们用路径“file:///mnt/sdcard/123 1.jpg”能找到照片才怪!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值