Android获取程序详细权限信息

2024-04-29 00:48

本文主要是介绍Android获取程序详细权限信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们大家平时打开android程序管理的选项,可以看到一个程序的权限列表,内容详细。如下图所示:

 

                                                      

 

我就想自习写程序得到一个程序的权限列表。

由于系统程序里实现了这个功能,系统源码肯定有这段代码。经过上网搜索,找到实现这个功能的方面类AppSecurityPermissions,大家可以在源码里找到这个java文件。我用两种方法实现了该功能。

 

方法一. 精简AppSecurityPermissions代码,实现了功能。

[java] view plaincopy
  1. private void getPermisson(Context context) {  
  2.         try {  
  3.             PackageManager pm = context.getPackageManager();  
  4.             PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);  
  5.             // 得到自己的包名  
  6.             String pkgName = pi.packageName;  
  7.   
  8.             PackageInfo pkgInfo = pm.getPackageInfo(pkgName,  
  9.                     PackageManager.GET_PERMISSIONS);//通过包名,返回包信息  
  10.             String sharedPkgList[] = pkgInfo.requestedPermissions;//得到权限列表  
  11.   
  12.             for (int i = 0; i < sharedPkgList.length; i++) {  
  13.                 String permName = sharedPkgList[i];  
  14.   
  15.                 PermissionInfo tmpPermInfo = pm.getPermissionInfo(permName, 0);//通过permName得到该权限的详细信息  
  16.                 PermissionGroupInfo pgi = pm.getPermissionGroupInfo(  
  17.                         tmpPermInfo.group, 0);//权限分为不同的群组,通过权限名,我们得到该权限属于什么类型的权限。  
  18.                   
  19.                 tv.append(i + "-" + permName + "\n");  
  20.                 tv.append(i + "-" + pgi.loadLabel(pm).toString() + "\n");  
  21.                 tv.append(i + "-" + tmpPermInfo.loadLabel(pm).toString()+ "\n");  
  22.                 tv.append(i + "-" + tmpPermInfo.loadDescription(pm).toString()+ "\n");  
  23.                 tv.append(mDivider + "\n");  
  24.   
  25.             }  
  26.         } catch (NameNotFoundException e) {  
  27.             Log.e("##ddd""Could'nt retrieve permissions for package");  
  28.   
  29.         }  
  30.     }  


主要通过PackageManager得到该程序的权限列表,然后通过权限的名字得到该权限的PermissionInfo。得到详细信息。得到结果如下图所示:

 

                                                

 

方法二。 直接用AppSecurityPermissions类,经过导入资源文件,实现了功能。具体代码我下面直接把工程打包。大家可以直接看里面的代码。下面只把效果图展示出来,如下图所示:

 

我比较喜欢第一种,得到你想要的信息,界面你可以根据自己的想法来设计,并且代码量少。

 程序下载地址:http://download.csdn.net/source/3567257

原文地址:点击打开链接

这篇关于Android获取程序详细权限信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944705

相关文章

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Java 操作 MinIO详细步骤

《Java操作MinIO详细步骤》本文详细介绍了如何使用Java操作MinIO,涵盖了从环境准备、核心API详解到实战场景的全过程,文章从基础的桶和对象操作开始,到大文件分片上传、预签名URL生成... 目录Java 操作 MinIO 全指南:从 API 详解到实战场景引言:为什么选择 MinIO?一、环境

kingbase修改权限实现方式

《kingbase修改权限实现方式》该文章详细介绍了如何在数据库中创建用户并赋予其相应的权限,包括创建用户、回收默认权限、创建数据库、赋权数据库权限、创建只读用户以及回收权限等步骤... 目录前言使用步骤总结前言创建用户后对数据库对象的读写权限进行修改使用步骤1、创建用户create user cs

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.