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

Método de Obtenção das Informações das Aplicações Instaladas no Sistema no Desenvolvimento Android

Este exemplo ilustra a maneira de obter informações sobre os aplicativos instalados no sistema no desenvolvimento Android. Partilho com vocês para referência, conforme detalhado a seguir:

public class AppInfoParser {
  private static String tag = "AppInfoParser";
  public static List<AppInfo> getAppInfos(Context context){
   //Primeiro obter o gerenciador de pacotes
    PackageManager packageManager = context.getPackageManager();
    //Obter todos os pacotes instalados
    List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);
    ArrayList<AppInfo> appInfos = new ArrayList<>();
    for (PackageInfo installedPackage : installedPackages) {
      AppInfo appInfo = new AppInfo();
      //Nome do pacote
      String packageName = installedPackage.packageName;
      appInfo.setPackageName(packageName);
      //Obter o ícone
      Drawable icon = installedPackage.applicationInfo.loadIcon(packageManager);
      appInfo.setIcon(icon);
      //Obter o nome da aplicação
      String appName = installedPackage.applicationInfo.loadLabel(packageManager).toString();
      appInfo.setAppName(appName);
      //Obter o caminho do pacote instalado
      String sourceDir = installedPackage.applicationInfo.sourceDir;
      File file = new File(sourceDir);
      //Obter o tamanho do APK instalado
      long apkSize = file.length();
      //Formatar o tamanho do APK
      appInfo.setApkSize(Formatter.formatFileSize(context,apkSize));
      int flags = installedPackage.applicationInfo.flags;
      //verificar se é um aplicativo do sistema atualmente
      if((flags & ApplicationInfo.FLAG_SYSTEM) !=0){
        //então é o aplicativo do sistema
        appInfo.setUserApp(false);
      }else{
        //então é o aplicativo do usuário
        appInfo.setUserApp(true);
      }
      if((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){
       //então o que está instalado atualmente é a cartão SD
        appInfo.setSD(true);
      }else{
        //então é a memória do telefone
        appInfo.setSD(false);
      }
      appInfos.add(appInfo);
    }
    return appInfos;
  }
}
public class AppInfo {
  //O ícone do aplicativo
  private Drawable icon;
  //O nome do aplicativo
  private String appName;
  //O tamanho do aplicativo
  private String apkSize;
  //Representa o aplicativo do usuário
  private boolean isUserApp;
  //O local de armazenamento.
  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 +
        };
  }
}

Leitores interessados em mais conteúdo sobre Android podem consultar as seções especiais deste site: 'Tutorial de Entrada e Avançado de Desenvolvimento Android', 'Técnicas de Depuração e Solução de Problemas Comuns em Android', 'Resumo de Uso dos Componentes Básicos de Android', 'Resumo de Técnicas de View Android', 'Resumo de Técnicas de Layout Android' e 'Resumo de Uso dos Controles Android'.

Espero que o conteúdo deste artigo ajude a todos na programação de aplicativos Android.

Declaração: O conteúdo deste artigo é extraído da Internet, pertencendo ao respectivo proprietário. O conteúdo é contribuído e carregado pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Apenas após a verificação, o site deletará o conteúdo suspeito de violação de direitos autorais.)

Você Também Pode Gostar