我可以通过包管理器在我的代码中获取已安装应用程序的列表:
public ArrayList<InstalledAppData> importInstalledAppsData(){
ArrayList<InstalledAppData> appList=new ArrayList<InstalledAppData>();
PackageManager pkgManager=getApplicationContext().getPackageManager();
List<ApplicationInfo> packages=getInstalledApplicationsList(pkgManager);
String deviceId=Util.getDeviceId(getApplicationContext());
for (ApplicationInfo packageInfo : packages) {
String packageName=packageInfo.packageName;
String appName="";
String appFile = packageInfo.sourceDir;
long installTime = new File(appFile).lastModified();
String status="s";
if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
appName = (String) pkgManager.getApplicationLabel(packageInfo);
}
else {
appName = (String) pkgManager.getApplicationLabel(packageInfo);
}
InstalledAppData data=new InstalledAppData(deviceId, packageName, appName, installTime, status);
appList.add(data);
}
return appList;
}
现在我想识别手机上当前启用了定位服务的所有已安装应用程序。我该怎么做?提前谢谢