Android 獲取已經安裝的程序
import java.util.ArrayList; import java.util.Iterator; import java.util.List;import Allappinfo.AllAppInfo; import android.app.Activity; import android.content.pm.PackageInfo; import android.os.Bundle;
public class AllAppActivity extends Activity { /* Called when the activity is first created. / @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
// Get(); ArrayList<AllAppInfo> list=Get(); for (Iterator iterator = list.iterator(); iterator.hasNext();) { AllAppInfo allAppInfo = (AllAppInfo) iterator.next(); System.out.println(allAppInfo.getAppname()+" |"+allAppInfo.getPackagename()+"| "+allAppInfo.getVersionCode()+"|"+allAppInfo.getLastInstal()+"|"+allAppInfo.getInstalPath()); } } private ArrayList<AllAppInfo> Get(){ ArrayList<AllAppInfo> appList = new ArrayList<AllAppInfo>(); List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0); for (int i = 0; i < packageInfos.size(); i++) { PackageInfo pInfo=packageInfos.get(i); AllAppInfo allAppInfo=new AllAppInfo(); allAppInfo.setAppname(pInfo.applicationInfo.loadLabel(getPackageManager()).toString());//應用程序的名稱 allAppInfo.setPackagename(pInfo.packageName);//應用程序的包 allAppInfo.setVersionCode(pInfo.versionCode);//版本號 allAppInfo.setLastInstal(pInfo.firstInstallTime); //allAppInfo.setProvider(pInfo.providers); allAppInfo.setInstalPath(pInfo.applicationInfo.sourceDir); allAppInfo.setAppicon(pInfo.applicationInfo.loadIcon(getPackageManager())); appList.add(allAppInfo); } return appList; }
}</pre>
import android.content.pm.ProviderInfo; import android.graphics.drawable.Drawable;public class AllAppInfo { private int versionCode = 0; //版本號
private String appname = "";// 程序名稱 private String packagename = ""; //包名稱 private Drawable appicon = null;//圖標 private long lastInstal;//最后一次安裝時間 private ProviderInfo[] provider;//供應商 private String InstalPath;//安裝路徑public int getVersionCode() { return versionCode; } public void setVersionCode(int versionCode) { this.versionCode = versionCode; } public String getAppname() { return appname; } public void setAppname(String appname) { this.appname = appname; } public String getPackagename() { return packagename; } public void setPackagename(String packagename) { this.packagename = packagename; } public Drawable getAppicon() { return appicon; } public void setAppicon(Drawable appicon) { this.appicon = appicon; } /** * @return the lastInstal */ public long getLastInstal() { return lastInstal; } /** * @param firstInstallTime the lastInstal to set */ public void setLastInstal(long firstInstallTime) { this.lastInstal = firstInstallTime; } /** * @return the provider */ public ProviderInfo[] getProvider() { return provider; } /** * @param providers the provider to set */ public void setProvider(ProviderInfo[] providers) { this.provider = providers; } /** * @return the instalPath */ public String getInstalPath() { return InstalPath; } /** * @param instalPath the instalPath to set */ public void setInstalPath(String instalPath) { InstalPath = instalPath; }
}</pre>
來自:http://blog.csdn.net/rwyz1314/article/details/6939137