国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android開(kāi)發(fā)獲取系統(tǒng)中已安裝程序信息的方法

2019-12-12 01:26:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Android開(kāi)發(fā)獲取系統(tǒng)中已安裝程序信息的方法。分享給大家供大家參考,具體如下:

public class AppInfoParser {  private static String tag = "AppInfoParser";  public static List<AppInfo> getAppInfos(Context context){   //首先獲取到包的管理者    PackageManager packageManager = context.getPackageManager();    //獲取到所有的安裝包    List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);    ArrayList<AppInfo> appInfos = new ArrayList<>();    for (PackageInfo installedPackage : installedPackages) {      AppInfo appInfo = new AppInfo();      //程序包名      String packageName = installedPackage.packageName;      appInfo.setPackageName(packageName);      //獲取到圖標(biāo)      Drawable icon = installedPackage.applicationInfo.loadIcon(packageManager);      appInfo.setIcon(icon);      //獲取到應(yīng)用的名字      String appName = installedPackage.applicationInfo.loadLabel(packageManager).toString();      appInfo.setAppName(appName);      //獲取到安裝包的路徑      String sourceDir = installedPackage.applicationInfo.sourceDir;      File file = new File(sourceDir);      //獲取到安裝apk的大小      long apkSize = file.length();      //格式化apk的大小      appInfo.setApkSize(Formatter.formatFileSize(context,apkSize));      int flags = installedPackage.applicationInfo.flags;      //判斷當(dāng)前是否是系統(tǒng)app      if((flags & ApplicationInfo.FLAG_SYSTEM) !=0){        //那么就是系統(tǒng)app        appInfo.setUserApp(false);      }else{        //那么就是用戶(hù)app        appInfo.setUserApp(true);      }      if((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){       //那么當(dāng)前安裝的就是sd卡        appInfo.setSD(true);      }else{        //那么就是手機(jī)內(nèi)存        appInfo.setSD(false);      }      appInfos.add(appInfo);    }    return appInfos;  }}
public class AppInfo {  //應(yīng)用圖標(biāo)  private Drawable icon;  //應(yīng)用的名字  private String appName;  //應(yīng)用程序的大小  private String apkSize;  //表示用戶(hù)程序  private boolean isUserApp;  //存儲(chǔ)的位置.  private boolean isSD;  private String packageName;  public String getPackageName() {    return packageName;  }  public void setPackageName(String packageName) {    this.packageName = packageName;  }  public Drawable getIcon() {    return icon;  }  public void setIcon(Drawable icon) {    this.icon = icon;  }  public String getAppName() {    return appName;  }  public void setAppName(String appName) {    this.appName = appName;  }  public String getApkSize() {    return apkSize;  }  public void setApkSize(String apkSize) {    this.apkSize = apkSize;  }  public boolean isUserApp() {    return isUserApp;  }  public void setUserApp(boolean isUserApp) {    this.isUserApp = isUserApp;  }  public boolean isSD() {    return isSD;  }  public void setSD(boolean isSD) {    this.isSD = isSD;  }  @Override  public String toString() {    return "AppInfo{" +        "appName='" + appName + '/'' +        ", apkSize='" + apkSize + '/'' +        ", isUserApp=" + isUserApp +        ", isSD=" + isSD +        '}';  }}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉义市| 钟山县| 无棣县| 资溪县| 周至县| 金门县| 乐至县| 灵丘县| 金坛市| 密山市| 闽清县| 郴州市| 黎川县| 大兴区| 高雄市| 于田县| 崇义县| 正定县| 乐至县| 临夏市| 松溪县| 仲巴县| 普陀区| 德保县| 宜良县| 叶城县| 塔城市| 二连浩特市| 新邵县| 西贡区| 泊头市| 九台市| 分宜县| 石林| 当雄县| 武强县| 铁岭县| 大荔县| 孝昌县| 岑巩县| 杭锦旗|