//需要的权限数组 读/写/相机
private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};
//------------------------------------拍照---------------------------------------------------------
button_pz = (Button)root.findViewById(R.id.button_pz);
button_pz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//检查是否已经获得相机的权限
if (verifyPermissions(getActivity(), PERMISSIONS_STORAGE[2]) == 0) {
Log.i(TAG, "提示是否要授权");
ActivityCompat.requestPermissions(getActivity(), PERMISSIONS_STORAGE, 3);
}
{
File outputImage = new File(getActivity().getExternalCacheDir(), "out_put_image.jpg");
try {
if (outputImage.exists()) {
outputImage.delete();
}
outputImage.createNewFile();
if (Build.VERSION.SDK_INT >= 24) {
imageUri = FileProvider.getUriForFile(getActivity(),
"com.example.myapplication.fileprovider", outputImage);
} else {
imageUri = Uri.fromFile(outputImage);
}
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, TAKE_PHOTO);
} catch (Exception ex) {
ex.printStackTrace();
}
ImageView img = new ImageView(getContext());
img.setImageResource(R.drawable.icon);
new AlertDialog.Builder(getContext())
.setTitle("拍照")
.setView(img)
.setPositiveButton("确定", null)
.show();
}
}
});
//------------------------------------------------------------------------------------------