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方法,代码如下: 
@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到文件。 
经测试,SDK 1.5版中,测试出错,大概是因为用的是模拟器吧,SDK 1.1版中,程序可以拍到照片,但是尺寸有点小,不知道为什么。这里,我没有怀疑自己,应该是Android的bug,也或者是我没有找在设置图片尺寸的地方

posted @ 2009-08-29 16:45  张兴业  阅读(149)  评论(0编辑  收藏  举报