上面的代码并没有给出每个已安装的包(例如,它没有给出运行此代码的包)。代码从主线程运行,从未尝试过除设备/模拟器 2.2 之外的其他设备/模拟器版本。知道有什么问题吗?
谢谢
public Map<String, String> getInstalledPackages()
{
Map<String, String> apps = new HashMap<String, String>();
List<PackageInfo> appsInfo = pm.getInstalledPackages(0);
for (PackageInfo appInfo: appsInfo)
{
try
{
apps.put(appInfo.packageName, appInfo.versionName);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return apps;
}
PS:如果我使用 pm.getInstalledPackages(PackageManager.GET_ACTIVITIES) 尝试它,它会返回一个空地图 - 仅在设备上尝试过