android 调用CAMERA并获取照片

来源:互联网 发布:查看淘宝账号实名认证 编辑:程序博客网 时间:2024/05/21 18:48
case R.id.openPhoto:
                        Intent intent = new Intent();
                        /* 开启Pictures画面Type设定为image */
                        intent.setType("image/*");
                        /* 使用Intent.ACTION_GET_CONTENT这个Action */
                        intent.setAction(Intent.ACTION_GET_CONTENT);
                        /* 取得相片后返回本画面 */
                        startActivityForResult(intent, 1);
                        REQUEST_CAMERA =0;
                        break;
                case R.id.camera:
                        Intent getImageByCamera = new Intent(
                                        "android.media.action.IMAGE_CAPTURE");
                        startActivityForResult(getImageByCamera,REQUEST_CAMERA);
                        REQUEST_CAMERA =1;
                        break;
                default:
                        break;
                }
        }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if(keyCode == KeyEvent.KEYCODE_BACK){
                startActivity(new Intent(ImagePageActivity.this,OrderMsgActivity.class));
                ImagePageActivity.this.finish();
        }
        return super.onKeyDown(keyCode, event);
}
@Override  
protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (REQUEST_CAMERA == 0) {  
        Uri uri = data.getData();  
//        Log.e("uri", uri.toString());  
        ContentResolver cr = this.getContentResolver();  
        try {  
            Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));  
            /* 将Bitmap设定到ImageView */  
            imageView.setImageBitmap(bitmap);  
        } catch (FileNotFoundException e) {  
//            Log.e("Exception", e.getMessage(),e);  
        }  
    }else if (REQUEST_CAMERA == 1){  
                       Bitmap myBitmap = null;
                                try  
                      {  
                  super.onActivityResult(requestCode, resultCode, data);  
                    Bundle extras = data.getExtras();  
                            myBitmap = (Bitmap) extras.get("data");  
                            ByteArrayOutputStream baos = new ByteArrayOutputStream();  
                   myBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);  
                 byte[] mContent = baos.toByteArray();  
              } catch ( Exception e )  
                        {  
                e.printStackTrace();  
                       }  
               // 把得到的图片绑定在控件上显示  
                                imageView.setImageBitmap(myBitmap);//把拍摄的照片转成圆角显示在预览控件
    }
    super.onActivityResult(requestCode, resultCode, data); 

原创粉丝点击