Android 获取已经安装的程序


Android 获取已经安装的程序:

  1. import java.util.ArrayList;  
  2. import java.util.Iterator;  
  3. import java.util.List;  
  4.   
  5. import Allappinfo.AllAppInfo;  
  6. import android.app.Activity;  
  7. import android.content.pm.PackageInfo;  
  8. import android.os.Bundle;  
  9.   
  10. public class AllAppActivity extends Activity {  
  11.     /** Called when the activity is first created. */  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.   
  17.       //  Get();   
  18.         ArrayList<AllAppInfo> list=Get();  
  19.         for (Iterator iterator = list.iterator(); iterator.hasNext();) {  
  20.             AllAppInfo allAppInfo = (AllAppInfo) iterator.next();  
  21.             System.out.println(allAppInfo.getAppname()+" |"+allAppInfo.getPackagename()+"| "+allAppInfo.getVersionCode()+"|"+allAppInfo.getLastInstal()+"|"+allAppInfo.getInstalPath());  
  22.         }  
  23.     }  
  24.     private ArrayList<AllAppInfo> Get(){  
  25.     ArrayList<AllAppInfo> appList = new ArrayList<AllAppInfo>();     
  26.     List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0);  
  27.     for (int i = 0; i < packageInfos.size(); i++) {  
  28.         PackageInfo pInfo=packageInfos.get(i);  
  29.         AllAppInfo allAppInfo=new AllAppInfo();  
  30.         allAppInfo.setAppname(pInfo.applicationInfo.loadLabel(getPackageManager()).toString());//应用程序的名称   
  31.         allAppInfo.setPackagename(pInfo.packageName);//应用程序的包   
  32.         allAppInfo.setVersionCode(pInfo.versionCode);//版本号   
  33.         allAppInfo.setLastInstal(pInfo.firstInstallTime);  
  34.         //allAppInfo.setProvider(pInfo.providers);   
  35.         allAppInfo.setInstalPath(pInfo.applicationInfo.sourceDir);  
  36.         allAppInfo.setAppicon(pInfo.applicationInfo.loadIcon(getPackageManager()));  
  37.         appList.add(allAppInfo);  
  38.     }  
  39.     return appList;  
  40.     }  
  41. }  


view plaincopy to clipboardprint?
  1. import android.content.pm.ProviderInfo;  
  2. import android.graphics.drawable.Drawable;  
  3.   
  4. public class AllAppInfo {  
  5.       private int versionCode = 0;  //版本号     
  6.       private String appname = "";// 程序名称   
  7.       private String packagename = "";    //包名称   
  8.       private Drawable appicon = null;//图标   
  9.       private long lastInstal;//最后一次安装时间   
  10.       private ProviderInfo[] provider;//供应商   
  11.       private String InstalPath;//安装路径   
  12.       
  13.     public int getVersionCode() {  
  14.         return versionCode;  
  15.     }  
  16.       
  17.     public void setVersionCode(int versionCode) {  
  18.         this.versionCode = versionCode;  
  19.     }  
  20.       
  21.     public String getAppname() {  
  22.         return appname;  
  23.     }  
  24.       
  25.     public void setAppname(String appname) {  
  26.         this.appname = appname;  
  27.     }  
  28.       
  29.     public String getPackagename() {  
  30.         return packagename;  
  31.     }  
  32.       
  33.     public void setPackagename(String packagename) {  
  34.         this.packagename = packagename;  
  35.     }  
  36.       
  37.       
  38.       
  39.     public Drawable getAppicon() {  
  40.         return appicon;  
  41.     }  
  42.       
  43.     public void setAppicon(Drawable appicon) {  
  44.         this.appicon = appicon;  
  45.     }  
  46.   
  47.     /** 
  48.      * @return the lastInstal 
  49.      */  
  50.     public long getLastInstal() {  
  51.         return lastInstal;  
  52.     }  
  53.   
  54.     /** 
  55.      * @param firstInstallTime the lastInstal to set 
  56.      */  
  57.     public void setLastInstal(long firstInstallTime) {  
  58.         this.lastInstal = firstInstallTime;  
  59.     }  
  60.   
  61.     /** 
  62.      * @return the provider 
  63.      */  
  64.     public ProviderInfo[] getProvider() {  
  65.         return provider;  
  66.     }  
  67.   
  68.     /** 
  69.      * @param providers the provider to set 
  70.      */  
  71.     public void setProvider(ProviderInfo[] providers) {  
  72.         this.provider = providers;  
  73.     }  
  74.   
  75.     /** 
  76.      * @return the instalPath 
  77.      */  
  78.     public String getInstalPath() {  
  79.         return InstalPath;  
  80.     }  
  81.   
  82.     /** 
  83.      * @param instalPath the instalPath to set 
  84.      */  
  85.     public void setInstalPath(String instalPath) {  
  86.         InstalPath = instalPath;  
  87.     }   
  88. }  

相关内容