Android得到已安裝的應用程序信息!
實際上在Android中可以獲得已經安裝的應用程序的各種信息(雖然在我的應用程序中隻需要獲得ICON即可),比如:名稱,版本,包等,不僅僅隻是圖標。
首先,可以創建一個用於存放應用程序信息的類結構。代碼如下:
- class AppInfo {
- private int versionCode = 0;
- //名稱
- private String appname = "";
- //包
- private String packagename = "";
- private String versionName = "";
- //圖標
- private Drawable appicon = null;
- }
然後可以通過getPackageManager()函數獲得PackageManager對象,而PackageManager中提供了getInstalledPackages函數可以獲得已經安裝的應用程序包。會返回所有已經安裝的應用程序的列表。
然後通過如下代碼取出所需要的信息即可。
- ArrayList<AppInfo> appList = new ArrayList<AppInfo>();
- List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
- for(int i=0;i<packages.size();i++) {
- PackageInfo packageInfo = packages.get(i);
- AppInfo tmpInfo = new AppInfo();
- tmpInfo.appname = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
- tmpInfo.packagename = packageInfo.packageName;
- tmpInfo.versionName = packageInfo.versionName;
- tmpInfo.versionCode = packageInfo.versionCode;
- tmpInfo.appicon = packageInfo.applicationInfo.loadIcon(getPackageManager());
- appList.add(tmpInfo);
- }
需要注意:getInstalledPackages函數將會獲得所有已經安裝的應用程序,包括係統應用程序,如果要過濾係統應用程序,可以通過“packageInfo.versionName == null”來判斷。
最後更新:2017-04-02 06:51:55