获取Android中具有互联网权限的应用程序列表
问题描述:
我想列出具有互联网访问权限的应用程序. 我有这个例子
I want to list of application which have internet access permission. I have this example
PackageManager p = context.getPackageManager();
final List<PackageInfo> apps = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo pkg : apps) {
for (String permission : pkg.requestedPermissions) {
// Check if permission is the internet permission
}
}
但是我没有得到,此代码将如何检查互联网许可?
but i am not getting this, how this code will check for internet permission?
有人可以举一个完整的例子吗?
can someone give full example???
谢谢.
答
此示例用需要互联网许可的应用程序的所有程序包名称填充packageNames
:
This example fills packageNames
with all the package name of the apps that require the internet permission:
ArrayList<String> packageNames = new ArrayList<String>();
PackageManager p = getPackageManager();
final List<PackageInfo> apps = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo packageInfo : apps) {
if (packageInfo.requestedPermissions == null)
continue;
for (String permission : packageInfo.requestedPermissions) {
if (TextUtils.equals(permission, android.Manifest.permission.INTERNET)) {
packageNames.add(packageInfo.packageName);
break;
}
}
}