PermissionManager.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.fujica.abk.utils;
  2. import com.fujica.abk.api.config;
  3. import ohos.app.Context;
  4. import ohos.security.SystemPermission;
  5. public class PermissionManager {
  6. public static final int Common = 0;
  7. public static final int Request_Location = 1;
  8. static boolean canLocation = false;
  9. public static boolean requestLocation(Context context) {
  10. if (config.isDebug) {
  11. return true;
  12. }
  13. if (context.verifySelfPermission(SystemPermission.LOCATION) != -1) {
  14. canLocation = true;
  15. return false;
  16. }
  17. String[] permissions = {SystemPermission.LOCATION};
  18. context.requestPermissionsFromUser(permissions, Request_Location);
  19. return true;
  20. }
  21. public static void updateLocation(String[] permissions, int[] grantResults) {
  22. if (permissions != null && grantResults != null) {
  23. for (int i = 0; i < permissions.length; i++) {
  24. if (SystemPermission.LOCATION.equalsIgnoreCase(permissions[i])) {
  25. if (grantResults.length > i) {
  26. canLocation = grantResults[i] != -1;
  27. } else {
  28. canLocation = false;
  29. }
  30. break;
  31. }
  32. }
  33. }
  34. }
  35. }