Android7.0及以上相机相册调用闪退处理封装,向下兼容
来源:互联网 发布:app编程 编辑:程序博客网 时间:2024/05/01 05:10
上一篇博文其实解决过这个问题,但是,博主更希望能够一行代码调起相机和相册,并且回调拿到相应的bitmap,于是,在上一篇博文的基础上,博主又进行了相关优化,并且将相机相册的调用封装成了一个jar包,让和博主一样希望更简单写代码的诸位能够更轻松的使用相机相册。注明:该jar包处理了7.0的相机调起异常,向下兼容。
在使用方面,只需要四步,就可以轻松调起相机相册,并拿到对应图片。同时提供方法,让开发者自行设置是否在API>23以上的手机上,将拍照得到的图片同步到图库。(默认是不会同步到图库的)。
使用场景:当前jar封装针对的主要场景为:身份证拍摄上传,退款照片取证等等。
缺点:如果选择将照片同步到相册,则第二张拍摄的照片会覆盖第一张拍摄的照片,也就是在相册里你只能看到最后一张拍摄的照片。因为博主在同步的时候使用的是同一个路 径,而且照片同步在博主的开发中并不常用,没有找到需要将照片同步的使用场景,所以并没有对照片同步到相册做太多的处理,之所以会加入照片同步到相册,是因为 有朋友提过为什么拍照的照片在相册中找不到,但目前博主开发场景中使用时,博主并不需要在相册中去找刚刚拍摄的照片。
使用过程:
1.导入jar包
在libs目录下导入两个jar包,一个是support V4包,另一个是博主为大家提供的CGCamera.jar ,下载地址:http://download.csdn.net/download/xiangxiang_8_8/9950235
2.在res目录下新建一个xml文件夹(如果没有),在xml文件夹下新建一个filrpath1.xml文件,该xml文件的内容为
<resources>
<paths>
<external-path name="cg" path="" />
</paths>
</resources>
3.在manifest.xml文件中加入以下代码:
3.1 权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3.2 provider标签 (与Activity标签的注入并列)
<provider
android:name="cn.com.cg.core.camera.CGFileProvider"
android:authorities="cn.com.cg.core.camera.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepath1" />
</provider>
3.3 Activity标签
<activity android:name="cn.com.cg.core.camera.CameraBridgeActivity"></activity>
4. 在需要调起的相机页面使用如下方法即刻调用其相机和相册
调起相机:
//Cameralmpl.openCamera(this, this);//默认调用相机形式,不会将照片同步到相册(手机相册的根目录)
Cameralmpl.openCamera(this, this,true);//会将照片同步到相册(手机相册的根目录)
调起相册:
Cameralmpl.openPhotos(this, this);
备注1:调起相机时,博主提供了两个参数和三个参数的方法,当第三个参数为true时,在API>23的手机上会将拍照得到的照片同步到手机相册的根目录上。第三个参数为 false或者不传时,则默认不将照片同步到相册。
备注2:在调起相机的Activity页面,需要实现一个接口TakePhotoSuccess,该接口有个方法,返回一个bitmap提供给当前页面使用。
怎么样,是不是非常方便,记得当时博主兼容7.0的相机相册调用也是头疼了一阵子,现在调用起来就非常方便了。
ja包下载地址:http://download.csdn.net/download/xiangxiang_8_8/9950235,里面包含一个demo和一个jar包。
- Android7.0及以上相机相册调用闪退处理封装,向下兼容
- Android7.0下调用相机闪退的解决方案
- Android7.0下调用相机闪退的解决方案
- Android7.0下调用相机闪退的解决方案
- Android7.0适配 调用系统相机闪退
- 关于Android7.0相机闪退以及相册获取不到图片问题
- Android7.0调用系统相机拍照、访问相册问题。
- Android7.0调用系统相机拍照、相册选择图片、裁剪
- Android7.0调用系统相机拍照、访问相册问题。
- Unity调用android7.0以上系统相机崩溃问题
- Android7.0调用相机
- android 调用小米相册,相机闪退 销毁当前activity
- 解决Android7.0以上,手机拍照闪退的问题
- ios10 相册相机闪退
- Android7.0的相机相册遇到问题
- android7.0调用相机NullPointerException
- Android7.0调用系统相机拍照、读取系统相册照片+CropImageView剪裁照片
- Android7.0调用系统相机拍照、读取系统相册照片+CropImageView剪裁照片
- weex服务项目搭建
- Cordova插件调用Android原生Activity修改其样式及背景
- 系统相关功能开发(四)-应用程序操作
- yum源在执行yum update 之后无法使用:Could not retrieve mirrorlist
- myeclpse9 导入maven项目不出现选项的问题
- Android7.0及以上相机相册调用闪退处理封装,向下兼容
- 基于Qt的图像处理技术和算法
- 深信服笔试题1
- http协议详解
- Oracle角色、权限、用户相关知识
- 解决VS2010代码编辑页面经常卡死问题
- Django
- 集合(ArrayList)
- js实现MD5加密