gpt4 book ai didi

android - 确定 Android 中安装的应用程序使用的权限列表

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:59 24 4
gpt4 key购买 nike

我必须确定我设备上安装的应用程序使用的每个权限列表。

我使用以下代码获得了安装的应用程序列表和包名称:

PackageManager pm = this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

List<ResolveInfo> list = m.queryIntentActivities(intent,PackageManager.PERMISSION_GRANTED);

for (ResolveInfo rInfo : list) {
Log.d("Installed Applications", rInfo.activityInfo.applicationInfo
.loadLabel(pm).toString());
Log.d("packegename",rInfo.activityInfo.applicationInfo.packageName.
toString());
}

如何获得每个应用程序使用的权限?

最佳答案

所以我编码了它。我不仅需要权限,还需要接收者和服务。请看下面的代码,希望它对其他人有用。

PackageManager p = this.getPackageManager();
final List <PackageInfo> appinstall=p.getInstalledPackages(PackageManager.GET_PERMISSIONS|PackageManager.GET_RECEIVERS|
PackageManager.GET_SERVICES|PackageManager.GET_PROVIDERS);

for(PackageInfo pInfo:appinstall){
//PermissionInfo[] permission=pInfo.permissions;
String[] reqPermission=pInfo.requestedPermissions;
ServiceInfo[] services=pInfo.services;
ProviderInfo[] providers=pInfo.providers;

int versionCode=pInfo.versionCode;
Log.d("versionCode-package ",Integer.toString(versionCode));
Log.d("Installed Applications", pInfo.applicationInfo
.loadLabel(pm).toString());
Log.d("packegename",pInfo.packageName.
toString());
if(reqPermission!=null)
for(int i=0;i<reqPermission.length;i++)
Log.d("permission list",reqPermission[i]);

注意 - 设置标志很重要,否则会导致问题 n u cnt get services , provider注意- NULL CHECK 是 IMP 或它给 NPE

还有我以前写的代码 ws 使用 activityInfo 这个使用 packageInfo 。我猜现在更好了:)快乐编码 ppl :)

关于android - 确定 Android 中安装的应用程序使用的权限列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4461504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com