Android 调用系统相机 并得到图片

来源:互联网 发布:淘宝网页不能正常显示 编辑:程序博客网 时间:2024/05/23 23:20

调用系统相机拍照Intent中跳转,要得到拍照后的图片则到onActivityResult中得到


// 跳转到系统照相机

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//判断是否有摄像头
if(cameraIntent.resolveActivity(getPackageManager()) != null){

startActivityForResult(cameraIntent, REQUEST_CAMERA);
}
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if (RESULT_OK == resultCode ) {        if (REQUEST_CAMERA == requestCode &&data!=null) {
    //得到返回的拍照生成的缩略图
Bitmap bitmap= (Bitmap) data.getExtras().get("data");
        }    }}
下面是得到原图的做法:
// 跳转到系统照相机Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);if(cameraIntent.resolveActivity(getPackageManager()) != null){    // 设置系统相机拍照后的输出路径    // 创建临时文件    savePathByCamera = Utils.createFile(getApplicationContext());    Uri uri=Uri.fromFile(savePathByCamera);    System.out.println(uri);    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);    startActivityForResult(cameraIntent, REQUEST_CAMERA);}

    //得到返回的图片    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (RESULT_OK == resultCode) {            if (REQUEST_CAMERA == requestCode && savePathByCamera != null) {                String path = savePathByCamera.getAbsolutePath();                System.out.println("path-->" + path);                //得到拍照的原图                Bitmap bitmap = BitmapFactory.decodeFile(path);            }        }    }
得到原图必须有写入权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


0 0
原创粉丝点击