我希望设备上安装的所有应用程序的列表使用像INTERNET这样的特定权限。获取具有特定权限的应用程序名称
我正在使用此代码,但无法检索结果,请帮助。
private ArrayList<String> getInstalledApps(Context context) {
ArrayList<String> results = new ArrayList<String>();
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> applist = packageManager.getInstalledPackages(0);
Iterator<PackageInfo> it = applist.iterator();
while (it.hasNext()) {
PackageInfo pk = (PackageInfo) it.next();
if (PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.INTERNET, pk.packageName))
results.add("" + pk.applicationInfo.loadLabel(packageManager));
}
for (int i = 0; i <= results.size(); i++) {
Log.v("app using internet = ", results.toString());
}
return results;
}
我只是在与模拟器的测试项目,它工作正常..你在模拟器上累了吗? Android正在使用哪个版本? –
使用模拟器2.2 –
我已经使用你的代码,它工作正常..你得到应用程序列表的空响应? –