jiejie 2010-01-28
编程人员在Android手机操作系统中可以实现许多功能来满足各种用户不同的需求。比如我们以前介绍的通话监控功能等。在这里就先来为大家详细介绍一下有关Android拍照的实现方法。
Android拍照有两种方式,一是使用android.hardware.Camera,二是使用Intent("android.media.action.IMAGE_CAPTURE"),当然还是第一种好,不过代码太复杂,以后有时间再说,这里就说一下第二种方式吧。
try {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
} catch (Exception e) {
} 这样就可以调用系统的像机了。
当然你的Activity要重构一下onActivityResult方法,Android拍照实现代码如下:
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bundle extras = data.getExtras();
Bitmap b = (Bitmap) extras.get("data");
ImageView img = new ImageView(this);
img.setImageBitmap(b);
setContentView(img);
} 这样,你拍到的照片就可以显示在ImageView中了。当然,你也可以保存这个Bitmap到文件。
Feature: 点击选择拍照或者打开相册,选取图片进行裁剪最后设置为圆形头像。Problem: 拍好照片,点击裁剪,弹Toast“无法加载此图片”。Solution: 在裁剪的class里加两行代码