现在很多开发者在裁图的时候还是使用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

注意android裁图的Intent action的更多相关文章

  1. Android开发之常用Intent.Action【转】

    1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putEx ...

  2. android intent和intent action大全

    1.Intent的用法:(1)用Action跳转1,使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了 ...

  3. (转)android.intent.action.MAIN与android.intent.category.LAUNCHER

    android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 在网上看到 ...

  4. 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

    刚才看了一下sundy的视频<LLY110426_Android应用程序启动>,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...

  5. 系统广播 android.intent.action.KILL_BACKGROUND_SERVICE

    Broadcast: Intent { act=android.intent.action.KILL_BACKGROUND_SERVICE.com.xxx.VoiceAssistant flg=0x1 ...

  6. android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解 (转)

    原文地址:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解 作者: 第一种情况:有MAIN,无LAUNCHER,程 ...

  7. Android 广播大全 Intent Action 事件

    Intent.ACTION_AIRPLANE_MODE_CHANGED; //关闭或打开飞行模式时的广播 Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生 ...

  8. 我的Android最佳实践之—— 常用的Intent.Action(转)

    1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putEx ...

  9. 【转】Android Intent Action 大全

    String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式.. “android.intent.action.ADD_SHORTCUT” String ALL_APPS_AC ...

随机推荐

  1. android获取其他应用权限(修改状态)

    这两天老大发话说要我研究一下安卓安全软件的功能,先抽取了一个小模块,研究权限管理 一开始就去packagemanager 去看发现有几个方法: 就先去看了一下IPackagemanager 里面的方法 ...

  2. HDU 4196 Remoteland

    题意:给定一个n,然后让你从1-n中选出某些数乘起来,使得乘积最大,并且乘积必须是完全平方数. 思路:将1-n种每个数都分解素因子,把他们的素因子的幂加起来,如果是偶数,就说明可以构成完全平方数,乘起 ...

  3. matlab中max的用法

    C = max(A) 返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一行向量包含了每一列的最大元素. ...

  4. ios专题 -动画

    知识点 : 1)ios 核心动画的基础是图层.图层的基础是CALayer,它是所有核心图层类的父类. 2)CATransaction是核心动画类负责协调多个动画原子显示更新.事务支持嵌套使用. 3)图 ...

  5. the c programming language 2-3

    #include<stdio.h> #define MAXLINELEN 1000 int power(int base,int n) { ; ; ;i<n;i++) answer= ...

  6. [Lua]表驱动索引编程,form.lua

    form.interface local form = {_tag = 'form'} function form.build(tag, super) --[[ -- form to produce ...

  7. Windows phone 之 UserControl的应用

    一.新建一个UserControl.xaml页面  MyUserControl.xaml 添加代码如下: <UserControl x:Class="bodypicture.MyUse ...

  8. jquery mobile基本结构搭建

    官网:http://jquerymobile.com/ 基本结构:

  9. asp.net Linq 实现分组查询

    首先我们还是先建立一个person.cs类 public class person { public string name { get; set; } public int age { get; s ...

  10. 使用jQuery播放/暂停 HTML5视频

    文章来自:http://blog.okbase.net/jquery2000/archive/4485.html 我尝试用jQuery控制HTML5视频,两个视频分别在两个tab中,我希望点中tab后 ...