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