English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cette exemple montre la méthode de développement Android pour obtenir des informations sur les applications installées dans le système. Partageons-le avec tout le monde pour la référence, voici les détails :
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; //vérifier si l'application actuelle est une application système if((flags & ApplicationInfo.FLAG_SYSTEM) !=0){ //alors c'est l'application système appInfo.setUserApp(false); }else{ //alors c'est l'application utilisateur appInfo.setUserApp(true); } if((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){ //alors l'installation actuelle est sur la carte SD appInfo.setSD(true); }else{ //alors c'est la mémoire du téléphone appInfo.setSD(false); } appInfos.add(appInfo); } return appInfos; } }
public class AppInfo { //L'icône de l'application private Drawable icon; //Le nom de l'application private String appName; //La taille de l'application private String apkSize; //représente l'application utilisateur private boolean isUserApp; //L'emplacement de stockage. 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 + '; } }
Les lecteurs intéressés par plus de contenu sur Android peuvent consulter les sujets spéciaux de ce site : 'Tutoriel d'introduction et d'avancement du développement Android', 'Conseils de débogage et solutions de problèmes courants pour Android', 'Résumé des utilisations des composants de base Android', 'Résumé des techniques des vues View Android', 'Résumé des techniques de mise en page layout Android' et 'Résumé des utilisations des contrôles Android'.
J'espère que les informations de cet article seront utiles pour la conception de programmes Android.
Déclaration : le contenu de cet article est issu du réseau, propriété de l'auteur original, contribué et téléversé par les utilisateurs d'Internet. Ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.)