现在很多开发者在裁图的时候还是使用com.android.camera.action.CROP 来调用startActivity()。 这不是个好主意。

任何不是依android开头的Action 名称都不是标准的。依com.android 开头的只是Android 内部应用之间的私有Action。 比如这个裁图的是Android系统默认相机提供的功能,很多第三方Rom会替换系统的某一个App。

如果一个第三方Rom使用了自己的相机程序替代了系统默认的,并且没有提供com.android.camera.action.CROP 这个Action,则您的应用就会崩溃了。

所以当您需要裁图功能的时候,可以像我一样从Android 相机代码中摘出这部分代码,或者使用别人摘好的代码即可。

下面是一些不错的可用裁图项目:

  • https://github.com/lvillani/android-cropimage
  • https://github.com/biokys/cropimage
  • https://github.com/MMP-forTour/cropimage(forked from the above one)
  • https://github.com/dtitov/pickncrop
值得注意的是,如果您在某些4.0手机上发现如下错误信息: 帮助
1 2 3 4 java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java: 413 ) at com.android.camera.HighlightView.draw(HighlightView.java: 101 ) at com.android.camera.CropImageView.onDraw(CropImage.java: 783 )
这个是由于在4.0系统上默认启用了硬件加速,而这些手机上硬件加速后 不支持某些绘图函数导致的。 只需要关闭裁图Activity的硬件加速功能即可。在activity xml文件中设置 android:hardwareAccelerated=”false” 即可。
转载: http://blog.chengyunfeng.com/?p=476#ixzz31JgW5wVI

更多相关文章

  1. adb devices找不到设备
  2. Android(安卓)- 文本框的输入法控制和默认焦点设置
  3. android > 获取图片 从 本地 /相机
  4. 记录代码合并时产生的bug
  5. android Diglog去除边框和默认背景
  6. Android(安卓)Camera照相机
  7. android 调用相机拍摄照片视频
  8. Android(安卓)自制照相机
  9. Android(安卓)照相机的实例应用

随机推荐

  1. Android消息循环实现原理分析
  2. Android异步处理一:使用Thread+Handler实
  3. Android(安卓)自定义属性与xmlns
  4. Android帧率测试
  5. 《Android开发从零开始》――13.Table La
  6. Android深入四大组件(一)应用程序启动过程
  7. 10个很棒的学习Android(安卓)开发的网站
  8. Android(安卓)启动过程详解
  9. android消息机制原理详解
  10. Android字体(一)