android 从本地或者拍照上传图片
2016-10-11 11:36
295 查看
private static final int IMAGE_REQUEST_CODE = 0;
private static final int CAMERA_REQUEST_CODE = 1;
private static final String IMAGE_FILE_NAME = "header.jpg";
private static final int RESIZE_REQUEST_CODE = 2;
private static final int CAMERA_REQUEST_CODE = 1;
private static final String IMAGE_FILE_NAME = "header.jpg";
private static final int RESIZE_REQUEST_CODE = 2;
public void Hand(){ dialogz2 = new Dialogz2(activity.this); dialogz2.setDialogTitle("提示"); dialogz2.setSubTitle("请选择图片"); dialogz2.setLeftText("图库"); dialogz2.setRightText("相机"); dialogz2.setCancelable(true); dialogz2.setCancelOutside(true);// true 点击空白处消失 false点击空白处不消失 dialogz2.setLeftClick(new BaseDialog.LeftClickLinstener() { @Override public void onClickLeft(View view) { Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT); galleryIntent.addCategory(Intent.CATEGORY_OPENABLE); galleryIntent.setType("image/*"); startActivityForResult(galleryIntent, IMAGE_REQUEST_CODE); } }); dialogz2.setRightClick(new BaseDialog.RightClickLinstener() { @Override public void onClickRight(View view) { if (isSdcardExisting()) { Intent cameraIntent = new Intent( "android.media.action.IMAGE_CAPTURE"); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri()); cameraIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE); } else { Toast.makeText(getApplication(), "请插入sd卡", Toast.LENGTH_LONG) .show(); } } }); dialogz2.show(); } private boolean isSdcardExisting() { final String state = Environment.getExternalStorageState(); if (state.equals(Environment.MEDIA_MOUNTED)) { return true; } else { return false; } } private Uri getImageUri() { return Uri.fromFile(new File(Environment.getExternalStorageDirectory(), IMAGE_FILE_NAME)); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != -1) { return; } else { switch (requestCode) { case IMAGE_REQUEST_CODE: resizeImage(data.getData()); break; case CAMERA_REQUEST_CODE: if (isSdcardExisting()) { resizeImage(getImageUri()); } else { Toast.makeText(getApplication(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG).show(); } break; case RESIZE_REQUEST_CODE: if (data != null) { showResizeImage(data); } break; } } super.onActivityResult(requestCode, resultCode, data); } private void showResizeImage(Intent data) { Bundle extras = data.getExtras(); if (extras != null) { Bitmap photo = extras.getParcelable("data"); Drawable drawable = new BitmapDrawable(photo); imageview.setImageDrawable(drawable);//设置给对应的控件 //设置头像成功 上传头像 dialogz2.dismiss(); } } public void resizeImage(Uri uri) { Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 150); intent.putExtra("outputY", 150); intent.putExtra("return-data", true); startActivityForResult(intent, RESIZE_REQUEST_CODE); }
相关文章推荐
- Android设置拍照或者上传本地图片
- Android设置拍照或者上传本地图片的示例
- Android设置拍照或者上传本地图片
- Android上传本地图片或者拍照上传
- Android 拍照 以及从本地选择图片 上传
- Android 拍照 以及从本地选择图片 上传
- Android拍照得到全尺寸图片并进行压缩/拍照或者图库选择 压缩后 图片 上传
- 手机端本地图片或者拍照的上传功能
- Android 图片拍照上传、本地上传
- Android拍照或者选取本地图片
- 相机拍照或者从本地获取图片上传服务器,并放到imageview上
- Android本地上传图片、拍照、裁剪
- Android本地图片上传(拍照+相册)
- android 客户端通过选择本地相册和拍照上传本地图片到服务器端
- Android拍照或本地图片上传
- Android 拍照上传和拍照本地显示,拍照剪切上传,选取本地图片剪切上传
- android 拍照或者图库选择 压缩后 图片 上传
- Android 调用本地相机拍照并上传图片
- Android 从本地选取图片或者拍照填充ImageView
- Android:Camera的使用,并处理手机拍照后上传图片被旋转的问题