java - 为什么在此代码中 PermissionInfo.name 返回 null
问题描述
我试图获取请求权限 SYSTEM_ALERT_WINDOW 的应用程序的所有包名称并将它们添加到 ArrayList 但它返回 null,我是新来的。这是我的代码。
//Initialize array list
aList = new ArrayList<String>();
//get packagemanager from activity
PackageManager pm = getPackageManager();
//get list of installed packages from package manager
List<PackageInfo> info = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);
//itirate for each package
for(PackageInfo packageInfo : info) {
//get array of PermissionInfo of each package once
PermissionInfo[] permissionInfo = packageInfo.permissions;
//check if array is not null
if(permissionInfo!=null){
//itirate for each permission
for(PermissionInfo aPermission : permissionInfo) {
//check if a permission contains this string
if(aPermission.name.contains("SYSTEM_ALERT_WINDOW")) {
//if yes then add package name to drawers
aList.add(packageInfo.packageName);
}
}
}
}
有人可以告诉我出了什么问题吗?
解决方案
推荐阅读
- python - Best practice to make a generator loop through a container infinite times
- java - 如何使用改造添加具有多个值的参数?包括@Field 和@Query
- matlab - Matlab:TCP连接读取数据大小警告错误
- json - 在 flatlist 中显示 JSON 数据
- c# - C# 中 Datagridview 标签中的总价
- xslt - XQuery - 将参数中的 HTML 传递给 XSLT
- javascript - javascript对象方法如何引用尚未声明的变量?
- python - 使用 Runge-Kutta-4 方法在 Python 中模拟轨道(物理)
- cassandra - 如何在 ubuntu 上使用 cassandra-loader
- jdbctemplate - JDBCTemplate queryForObject 是如何工作的。具体来说,新的 Object[] {} 部分