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

Métodos para obtener información sobre los programas instalados en el sistema en el desarrollo de Android

Este ejemplo ilustra cómo obtener información de aplicaciones instaladas en el sistema de desarrollo de Android. Compartimos esto con todos para referencia, como se muestra a continuación:

public class AppInfoParser {
  private static String tag = "AppInfoParser";
  public static List<AppInfo> getAppInfos(Context context){
   //First get the package manager
    PackageManager packageManager = context.getPackageManager();
    //Get all installed packages
    List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);
    ArrayList<AppInfo> appInfos = new ArrayList<>();
    for (PackageInfo installedPackage : installedPackages) {
      AppInfo appInfo = new AppInfo();
      //Package name
      String packageName = installedPackage.packageName;
      appInfo.setPackageName(packageName);
      //Get the icon
      Drawable icon = installedPackage.applicationInfo.loadIcon(packageManager);
      appInfo.setIcon(icon);
      //Get the name of the application
      String appName = installedPackage.applicationInfo.loadLabel(packageManager).toString();
      appInfo.setAppName(appName);
      //Get the path of the installed package
      String sourceDir = installedPackage.applicationInfo.sourceDir;
      File file = new File(sourceDir);
      //Get the size of the installed apk
      long apkSize = file.length();
      //Format the size of the apk
      appInfo.setApkSize(Formatter.formatFileSize(context,apkSize));
      int flags = installedPackage.applicationInfo.flags;
      //juzgar si la aplicación actual es una aplicación del sistema
      if ((flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
        //entonces es la aplicación del sistema
        appInfo.setUserApp(false);
      } else {
        //entonces es la aplicación de usuario
        appInfo.setUserApp(true);
      }
      if ((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
       //entonces lo instalado actualmente es la tarjeta SD
        appInfo.setSD(true);
      } else {
        //entonces es la memoria del teléfono
        appInfo.setSD(false);
      }
      appInfos.add(appInfo);
    }
    return appInfos;
  }
}
public class AppInfo {
  //icono de la aplicación
  private Drawable icon;
  //nombre de la aplicación
  private String appName;
  //tamaño de la aplicación
  private String apkSize;
  //representa el programa de usuario
  private boolean isUserApp;
  //ubicación de almacenamiento.
  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 +
        };
  }
}

Los lectores interesados en más contenido relacionado con Android pueden ver la sección especial de este sitio: 'Tutorial de inicio y avanzado de desarrollo de Android', 'Técnicas de depuración y resumen de métodos de solución de problemas comunes de Android', 'Resumen de uso de componentes básicos de Android', 'Resumen de técnicas de vista View de Android', 'Resumen de técnicas de diseño de layout de Android' y 'Resumen de uso de controles de Android'.

Espero que lo descrito en este artículo pueda ayudar a todos en el diseño de programas Android.

Declaración: el contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido se ha contribuido y subido por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha procesado editorialmente por humanos y no asume responsabilidad por las responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar y proporcione evidencia. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción de derechos de autor.)

Te gustará