歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 獲取已經安裝的程序

Android 獲取已經安裝的程序

日期:2017/3/1 11:07:47   编辑:Linux編程

Android 獲取已經安裝的程序:

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


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

Copyright © Linux教程網 All Rights Reserved