English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طريقة الحصول على معلومات التطبيقات المثبتة في النظام لبرمجة Android

هذا المثال يشرح كيفية الحصول على معلومات التطبيقات المثبتة في نظام Android. نتشارك هذا معكم لتكونوا على علم، ويكون كما يلي:

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;
      //تحديد ما إذا كان التطبيق الحالي تطبيق نظام
      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'، 'ملخص تقنيات التخطيط في Android'، و 'ملخص استخدام التحكمات في Android'.

آمل أن يساعدك ما ذكرته في هذا المقال في تصميم برامج Android.

البيان: محتوى هذا المقال تم جمعه من الإنترنت، ملكية المقال تخص صاحب الحقوق، محتوى تم إضافته من قبل مستخدمي الإنترنت بشكل تلقائي، هذا الموقع لا يمتلك الحقوق، لم يتم تعديل المحتوى بشكل يدوي، ولا يتحمل أي مسؤولية قانونية. إذا كنت قد وجدت محتوى يشتبه في انتهاك حقوق النسخ، فالرجاء إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # ب @) للإبلاغ، وتقديم الأدلة ذات الصلة، إذا تم التحقق من صحة الإبلاغ، سيتم حذف المحتوى المزعوم فورًا.

النصائح التي قد تفضلك