直接上代码:
private
void
showCameraAction() {
if
(ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE,
getString(R.string.mis_permission_rationale_write_storage),
REQUEST_STORAGE_WRITE_ACCESS_PERMISSION);
}
else
{
Intent intent =
new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if
(intent.resolveActivity(getActivity().getPackageManager()) !=
null
) {
try
{
mTmpFile = FileUtils.createTmpFile(getActivity());
}
catch
(IOException e) {
e.printStackTrace();
}
if
(mTmpFile !=
null
&& mTmpFile.exists()) {
/*获取当前系统的android版本号*/
int
currentapiVersion = android.os.Build.VERSION.SDK_INT;
Log.e(
"currentapiVersion"
,
"currentapiVersion====>"
+currentapiVersion);
if
(currentapiVersion<
24
){
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mTmpFile));
startActivityForResult(intent, REQUEST_CAMERA);
}
else
{
ContentValues contentValues =
new
ContentValues(
1
);
contentValues.put(MediaStore.Images.Media.DATA, mTmpFile.getAbsolutePath());
Uri uri = getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, REQUEST_CAMERA);
}
}
else
{
Toast.makeText(getActivity(), R.string.mis_error_image_not_exist, Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(getActivity(), R.string.mis_msg_no_camera, Toast.LENGTH_SHORT).show();
}
}
}