permission.js 2.1 KB

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