天天看點

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”來判斷。

繼續閱讀