zoukankan      html  css  js  c++  java
  • Android 编程下如何获取有 Internet 访问权限的应用

    应用程序在运行过程中所需要的权限是被写在应用的 AndroidManifest.xml 下的,在 Android 中这些信息是被封装在 PackageInfo 中的,所以要获取权限的信息,我们就需要先获取到 PackageManager ,再通过 PackageManager  获取指定条件的 PackageInfo  信息,通过比对 PackageInfo 所携带的权限信息来判断对应的应用是否具有 Internet 的权限,判断应用是否具有其他权限同理。实现代码如下:

    public void getInternetAppInfos() {
    
       /************************ 获取包管理器 *************************/
       PackageManager manager = getPackageManager();
    
       /** 获取未被卸载同时在清单文件中设置了 <uses-permission> 的包信息 **/
       List<PackageInfo> packageInfos = manager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_PERMISSIONS);
    
       /****** 遍历获取包信息及包信息中包含的 <uses-permission> 信息 *****/
       for (PackageInfo info : packageInfos) {
           String[] permissions = info.requestedPermissions;
           if (permissions != null) {
               for (String permission : permissions) {
                   if (permission.equals(Manifest.permission.INTERNET)) {
                       ApplicationInfo appInfo = info.applicationInfo;
                       String appname = appInfo.loadLabel(manager).toString();
                       String packageName = appInfo.packageName;
                       int uid = appInfo.uid;
                       System.out.println(appname + ":" + packageName + ":" + uid);
                   }
               }
           }
       }
    }
  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/sunzn/p/2910264.html
Copyright © 2011-2022 走看看