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