wtt
10 分钟以前 30190a149dfcf465104d08c54ec4e2d4d8074b17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const androidPermissions = {
  camera: "android.permission.CAMERA", // 摄像头权限
  bluetooth: {
    coarse: "android.permission.ACCESS_COARSE_LOCATION", // 位置权限
    fine: "android.permission.ACCESS_FINE_LOCATION",
    extra: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS",
    scan: "android.permission.BLUETOOTH_SCAN",
    connect: "android.permission.BLUETOOTH_CONNECT",
  },
  storage: {
    read: "android.permission.READ_EXTERNAL_STORAGE", // 存储读取权限
    write: "android.permission.WRITE_EXTERNAL_STORAGE", // 存储写入权限
  },
};
 
const permissionCheck = {
  getPermissionList(permissionID) {
    const id = androidPermissions[permissionID];
    const list = [];
    if (typeof id == "string") {
      list[0] = id;
    } else {
      for (let key in id) {
        list.push(id[key]);
      }
    }
    return list;
  },
  androidPermissionCheck(permissionID) {
    return new Promise((resolve, reject) => {
      if (plus) {
        let ids = this.getPermissionList(permissionID);
        plus.android.requestPermissions(
          ids,
          function (result) {
            let res = 0;
            for (let i = 0; i < result.granted.length; i++) {
              let permission = result.granted[i];
              console.log("已获取的权限:", permission);
              res = 1;
            }
            for (let i = 0; i < result.deniedPresent.length; i++) {
              let permission = result.deniedPresent[i];
              console.log("本次已拒绝的权限:", permission);
              res = 0;
            }
            for (let i = 0; i < result.deniedAlways.length; i++) {
              let permission = result.deniedAlways[i];
              console.log("永久拒绝的权限:", permission);
              res = -1;
            }
            resolve({
              code: 1,
              data: res,
            });
          },
          (error) => {
            reject({
              code: 2,
              data: `code:${error.code},msg:${error.message}!`,
            });
          }
        );
      }
    });
  }
};
 
export default permissionCheck;