注意android裁图的Intent action

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

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

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

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

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

值得注意的是,如果您在某些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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值