Android 獲取已經安裝的程序

fmms 12年前發布 | 31K 次閱讀 Android 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>0_13204936507fzz.gif

來自:http://blog.csdn.net/rwyz1314/article/details/6939137

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!