|
|
@@ -0,0 +1,73 @@
|
|
|
+package com.xzjmyk.pm.activity.util.stream;
|
|
|
+
|
|
|
+import android.app.Activity;
|
|
|
+import android.content.pm.PackageManager;
|
|
|
+import android.os.Build;
|
|
|
+import android.support.v4.app.ActivityCompat;
|
|
|
+import android.support.v4.content.ContextCompat;
|
|
|
+
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
|
|
|
+import com.xzjmyk.pm.activity.util.PermissionUtil;
|
|
|
+
|
|
|
+import static com.umeng.socialize.utils.DeviceConfig.context;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Created by Bitliker on 2017/6/5.
|
|
|
+ */
|
|
|
+
|
|
|
+public class PermissionHelper {
|
|
|
+ private Activity activity;
|
|
|
+ public static final int DEFAULT_REQUEST = 0x31;
|
|
|
+
|
|
|
+ public PermissionHelper(Activity activity) {
|
|
|
+ this.activity = activity;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void judgeAndrequestPermission(String[] permissions) {
|
|
|
+ if (lacksPermissions(permissions)) {
|
|
|
+ requestPermission(permissions);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public boolean isRequestPermissionsOk(int requestCode, String[] permissions, int[] grantResults) {
|
|
|
+ if (requestCode == PermissionUtil.DEFAULT_REQUEST) {
|
|
|
+ if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
|
|
|
+ //TODO 没有获取到权限
|
|
|
+ LogUtil.i("没有获取到权限");
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ LogUtil.i("已经用户赋予权限获取到权限");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ void requestPermission(String... permissions) {
|
|
|
+ ActivityCompat.requestPermissions(this.activity, permissions, DEFAULT_REQUEST);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 是否有没有获取到的权限
|
|
|
+ private boolean lacksPermissions(String... permissions) {
|
|
|
+ if (Build.VERSION.SDK_INT >= 23) {
|
|
|
+ for (String permission : permissions) {
|
|
|
+ if (lacksPermission(permission)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ PackageManager pm = activity.getPackageManager();
|
|
|
+ for (String permission : permissions)
|
|
|
+ if (pm.checkPermission(permission, context.getPackageName()) == PackageManager.PERMISSION_GRANTED)
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断是否缺少权限
|
|
|
+ private boolean lacksPermission(String permission) {
|
|
|
+ return ContextCompat.checkSelfPermission(activity, permission) ==
|
|
|
+ PackageManager.PERMISSION_DENIED;
|
|
|
+ }
|
|
|
+}
|