Android
系统运行的应用程序,可以通过PackageManager类获得相关信息:
packageManager.getInstalledApplications(0) 这个方法会返回一个list,包含所以程序包括系统程序。
通过for (ApplicationInfo app : listAppcations)遍历所有信息
通过app.flag标示可以判断当前程序是系统程序还是第三方程序,还是手机卡上的程序:
(app.flags & ApplicationInfo.FLAG_SYSTEM) != 0 表示系统程序
(app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0 表示第三方应用程序
(app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0 表示系统程序被手动更新后,也成为第三方应用程序
((app.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0 表示安装在SD卡上的应用程序
程序的相关信息:
packageManager.getApplicationLabel(app) 得到当前程序的名字
packageManager.getApplicationIcon(app); 得到当前程序的ICON
app.uid 得到当前程序的UID
app.packageName 得到当期程序的包名
packageManager.getInstalledApplications(0) 这个方法会返回一个list,包含所以程序包括系统程序。
通过for (ApplicationInfo app : listAppcations)遍历所有信息
通过app.flag标示可以判断当前程序是系统程序还是第三方程序,还是手机卡上的程序:
(app.flags & ApplicationInfo.FLAG_SYSTEM) != 0 表示系统程序
(app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0 表示第三方应用程序
(app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0 表示系统程序被手动更新后,也成为第三方应用程序
((app.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0 表示安装在SD卡上的应用程序
程序的相关信息:
packageManager.getApplicationLabel(app) 得到当前程序的名字
packageManager.getApplicationIcon(app); 得到当前程序的ICON
app.uid 得到当前程序的UID
app.packageName 得到当期程序的包名