// 调用系统的拍照
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
// 图片路径
private Uri mCurrentPhotoUri;
// 拍照
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(mContext.getPackageManager()) != null) {
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException e) {
e.printStackTrace();
}
if (photoFile != null){
Uri photoUri = FileProvider.getUriForFile(mContext, "com.yxhuang.fileprovider", photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
mCurrentPhotoUri = photoUri;
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}
// 创建图片路径
private File createImageFile() throws IOException {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = mContext.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
return image;
}
<!--自定义URI 需要 provider -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.yxhuang.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths">
</meta-data>
</provider>
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="image_file"
path="Android/data/com.yxhuang/files/Pictures"/>
</paths>
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// 拍照返回
if (resultCode == RESULT_OK){
if (requestCode == REQUEST_IMAGE_CAPTURE){
beginCrop(mCurrentPhotoUri);
} else if (requestCode == Crop.REQUEST_PICK){
beginCrop(data.getData());
}
}
// 裁剪
if (requestCode == Crop.REQUEST_CROP){
handleCrop(resultCode, data);
}
}
// 开始裁剪
private void beginCrop(Uri source){
Uri destination = Uri.fromFile(new File(mContext.getCacheDir(), "cropped"));
// start() 方法根据其的需求选择不同的重载方法
Crop.of(source, destination).asSquare().start(getActivity(), MineFragment.this);
}
// 将裁剪回来的数据进行处理
private void handleCrop(int resultCode, Intent result){
if (resultCode == RESULT_OK){
mImageView.setImageURI(Crop.getOutput(result));
} else if (resultCode == Crop.RESULT_ERROR){
Toast.makeText(mContext,
Crop.getError(result).getMessage(),
Toast.LENGTH_SHORT).show();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有