Android之獲得已安裝程式列表

來源:互聯網
上載者:User

      我們大家都知道在手機上我們可以查看表徵圖來知道我們都安裝了什麼樣的應用,但實際上傳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); }

在這裡我們用到了for迴圈,這個主要的意思是用迴圈來把所有的軟體給顯示出來。這裡主要的是執行個體化一下ArrayList<AppInfo> appList = new ArrayList<AppInfo>();如果不執行個體化的話你不會被調用,這樣的話ArrayList<AppInfo>這個數組中的軟體就不會不顯示出來。大家一定要記住了。我們得先執行個體化一下,再用迴圈。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.