Android启动相机拍照

//需要的权限数组 读/写/相机
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();
                }
            }

        });
//------------------------------------------------------------------------------------------

  

posted @ 2021-03-03 11:17  广州飞哥  阅读(136)  评论(0)    收藏  举报