调用系统相机摄像和截图
调用相机照相并保存在指定路径
private void getFromCamera(Uri imageUri) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
imageUri = FileProvider.getUriForFile(MainActivity.this, "com.can.cameracapture", fileUri);//通过FileProvider创建一个content类型的Uri
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
startActivityForResult(intent, 0x777);
}
//onActivityForResult
//保存路径
//data.getData(),
//缩微图
//Bitmap thumbnail = data.getParcelableExtra("data");
系统裁剪图片
private void cutePic(Uri imageUri) {
Log.i(TAG, "Cutr picture");
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(imageUri, "image/*");//
intent.putExtra("aspectX", 1);//裁剪框比例
intent.putExtra("aspectY", 1);//
intent.putExtra("outputX", 100);//裁剪后大小
intent.putExtra("outputY", 100);//
intent.putExtra("scale", true);//伸缩
intent.putExtra("return-data", false);//uri输出
startActivityForResult(intent, 0x722);
}
AndroidManifest.xml
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.can.cameracapture"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
file_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<paths>
<external-path
name="camera_photos"
path="" />
</paths>
</resources>