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);
                   }
               }
           }
       }
    }
  • 相关阅读:
    mysql命令汇总
    python中魔术方法和属性汇总
    python关于import的汇总
    linux命令汇总
    python之高并发问题汇总
    python中路径查找汇总
    python之进程,线程,协程,进程间通信,锁汇总
    python之迭代器,生成器,递归等归纳
    python 之网络编程汇总
    【SpringFramework】Spring JdbcTemplate
  • 原文地址:https://www.cnblogs.com/sunzn/p/2910264.html
Copyright © 2011-2022 走看看