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;
}
}
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; } }
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; } }