本文實例講述了Android開發獲取系統中已安裝程序信息的方法。分享給大家供大家參考,具體如下:
創新互聯是專業的陜州網站建設公司,陜州接單;提供成都做網站、成都網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行陜州網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
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); //獲取到圖標 Drawable icon = installedPackage.applicationInfo.loadIcon(packageManager); appInfo.setIcon(icon); //獲取到應用的名字 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; //判斷當前是否是系統app if((flags & ApplicationInfo.FLAG_SYSTEM) !=0){ //那么就是系統app appInfo.setUserApp(false); }else{ //那么就是用戶app appInfo.setUserApp(true); } if((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){ //那么當前安裝的就是sd卡 appInfo.setSD(true); }else{ //那么就是手機內存 appInfo.setSD(false); } appInfos.add(appInfo); } return appInfos; } }
public class AppInfo { //應用圖標 private Drawable icon; //應用的名字 private String appName; //應用程序的大小 private String apkSize; //表示用戶程序 private boolean isUserApp; //存儲的位置. 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 + '}'; } }
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
當前題目:Android開發獲取系統中已安裝程序信息的方法
鏈接分享:http://vcdvsql.cn/article36/jhjepg.html
成都網站建設公司_創新互聯,為您提供外貿建站、企業建站、、服務器托管、微信公眾號、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯