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里加两行代码