调用系统相机摄像和截图

xiaoxiao2021-02-28  131

调用系统相机摄像和截图

调用相机照相并保存在指定路径

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>
转载请注明原文地址: https://www.6miu.com/read-42898.html

最新回复(0)