拍照权限,GPS权限的控制

时间:2021-03-18 15:25:20

最近项目中会遇到一些手机用户权限的问题,从网上百度了一下,发现有一些方法不能解决判断用户权限的是否开关,下面我就介绍两种权限的判断

1 拍照的权限控制

 1 public static boolean isCameraCanUse() {
 2         boolean canUse = true;
 3         Camera mCamera = null;
 4         try {
 5             mCamera = Camera.open();
 6             // setParameters 是针对魅族MX5 做的。MX5 通过Camera.open() 拿到的Camera
 7             // 对象不为null
 8             Camera.Parameters mParameters = mCamera.getParameters();
 9             mCamera.setParameters(mParameters);
10         } catch (Exception e) {
11             canUse = false;
12         }
13         if (mCamera != null) {
14             mCamera.release();
15         }
16         return canUse;
17     }

2Gps权限的控制

 /**
     * 判断GPS是否开启,GPS或者AGPS开启一个就认为是开启的
     * @param context
     * @return true 表示开启
     */
    public static final boolean isOPen(final Context context) {
        LocationManager locationManager
                = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        // 通过GPS卫星定位,定位级别可以精确到街(通过24颗卫星定位,在室外和空旷的地方定位准确、速度快)
        boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
        // 通过WLAN或移动网络(3G/2G)确定的位置(也称作AGPS,辅助GPS定位。主要用于在室内或遮盖物(建筑群或茂密的深林等)密集的地方定位)
        //boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        if (gps ) {
            return true;
        }

        return false;
    }