Android照相机Camera
2016-07-21 11:34
246 查看
使用系统照相机进行拍照并返回
在Action中,通过
来打开系统照相机,当拍照完成后(Camera进行了finish())后就会执行 onActivityResult函数(谁调用startActivityForResult执行谁)
从代码中可以看到,通过返回的Intent 我们可以获取到Bitmap的对象,这个对象就是我们刚刚拍照时的照片,在这里,我将这个照片放到了屏幕上。
————————————–可耻的分割线———————————————
这段代码中有一些常见的问题,譬如onActivityResult没有进行调用等在这里我和大家分享一下解决方案
错误一
AndroidManifest.xml中被别人加了android:noHistory=”true”
android:noHistory=”true”该activity在statck中不留痕迹所以不会发生回调
错误二
startActivityForResult(intent,1);这段代码中将1换成了RESULT_OK
在官方文档中规定这里填入大于0的整数时才会发生回调,而RESULT_OK在源代码中定义为-1
/* Standard activity result: operation canceled. /
public static final int RESULT_CANCELED = 0;
/* Standard activity result: operation succeeded. /
public static final int RESULT_OK = -1;
/* Start of user-defined activity results. /
public static final int RESULT_FIRST_USER = 1;
这是官方源代码常量的定义
错误三
这个错误就有点尴尬了
我把
函数看成了
如果不看最后的单词很容易就写错了,而且这里还不注意检查
在Action中,通过
Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,1);
来打开系统照相机,当拍照完成后(Camera进行了finish())后就会执行 onActivityResult函数(谁调用startActivityForResult执行谁)
ImageView img; protected void onActivityResult(int requestCode, int resultCode, Intent data) { img= (ImageView) findViewById(R.id.img); Bitmap bitmap= (Bitmap) data.getExtras().get("data"); img.setImageBitmap(bitmap); }
从代码中可以看到,通过返回的Intent 我们可以获取到Bitmap的对象,这个对象就是我们刚刚拍照时的照片,在这里,我将这个照片放到了屏幕上。
————————————–可耻的分割线———————————————
这段代码中有一些常见的问题,譬如onActivityResult没有进行调用等在这里我和大家分享一下解决方案
错误一
AndroidManifest.xml中被别人加了android:noHistory=”true”
android:noHistory=”true”该activity在statck中不留痕迹所以不会发生回调
错误二
startActivityForResult(intent,1);这段代码中将1换成了RESULT_OK
在官方文档中规定这里填入大于0的整数时才会发生回调,而RESULT_OK在源代码中定义为-1
/* Standard activity result: operation canceled. /
public static final int RESULT_CANCELED = 0;
/* Standard activity result: operation succeeded. /
public static final int RESULT_OK = -1;
/* Start of user-defined activity results. /
public static final int RESULT_FIRST_USER = 1;
这是官方源代码常量的定义
错误三
这个错误就有点尴尬了
我把
public void onActivityReenter(int resultCode, Intent data)
函数看成了
protected void onActivityResult(int requestCode, int resultCode, Intent data)
如果不看最后的单词很容易就写错了,而且这里还不注意检查
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 关于C#中排序函数的总结
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua中让回调函数支持回调对象方法的解决方法
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记