Android 6.0前后权限问题

发布于 2022-09-11 22:56:30 字数 2255 浏览 24 评论 0

  • github 上下载了别人的源码,看到特意针对 android 6.0区别处理了,不清楚为什么这样做,难道 6.0 以下是不需要申请权限的?
  • 下面是我下载的源码

      package com.mobile.mobileinfo.util;
    
      import android.Manifest;
      import android.app.Activity;
      import android.content.Context;
      import android.content.pm.PackageManager;
      import android.os.Build;
    
      import java.util.ArrayList;
      import java.util.List;
    
      public class PermissionUtil {
    
          // 动态权限申请
          public static void checkPermission(Activity context) {
              if (Build.VERSION.SDK_INT >= 23) {
                  List<String> permissions = null;
                  if (context.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
                      permissions = new ArrayList<>();
                      permissions.add(Manifest.permission.READ_PHONE_STATE);
                  }
                  if (context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                      if (permissions == null) {
                          permissions = new ArrayList<>();
                      }
                      permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
                  }
                  if (context.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                      if (permissions == null) {
                          permissions = new ArrayList<>();
                      }
                      permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
                  }
    
                  if (context.checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                      if (permissions == null) {
                          permissions = new ArrayList<>();
                      }
                      permissions.add(Manifest.permission.CAMERA);
                  }
                  if (permissions != null) {
                      String[] permissionArray = new String[permissions.size()];
                      permissions.toArray(permissionArray);
                      context.requestPermissions(permissionArray, 0);
                  }
              }
          }
      }
    
  • 有必要的话:QQ = 409223171

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谎言月老 2022-09-18 22:56:30

以前是在xml里静态声明的,无法动态许可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文