Der vorherige Artikel hat Ihnen einige praktische Funktionen vorgestellt, die häufig in Projekten verwendet werden. In diesem Artikel werde ich Ihnen daher vorstellen, wie Sie mobile Anwendungen erhalten, die auf Android-Telefonen installiert wurden. Kommen wir nun ohne weitere Umschweife direkt zum Code.
private String getInstalledAppListAsString(){ PackageManager pm = context.getPackageManager(); List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_GIDS); StringBuffer stringBuffer = new StringBuffer(); for (ApplicationInfo app : apps) { if(pm. getLaunchIntentForPackage(app.packageName) != null) { // Apps mit Launcher-Intent if((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1) { // aktualisierte System-Apps } else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { // System-Apps } else { // Vom Benutzer installierte Apps stringBuffer.append(app.packageName).append(';'); } } } return stringBuffer.toString( }Schauen wir uns an, wie Sie relevante Informationen zu den einzelnen Anwendungen erhalten.
package cn.lyz.mobilesafe.domain;import android.graphics.drawable.Drawable;/** * Erhaltene grundlegende Anwendungsinformations-Entitätsklasse * @author liuyazhuang * */public class AppInfo {//Icon private Drawable app_icon;//Anwendungsname private String app_name;//Anwendungsversionsnummer private String app_version;//Name des Anwendungspakets private String packagename;//Ob es sich um eine Benutzeranwendung handeltprivate boolean isUserApp;public AppInfo() {super();//TODO Automatisch generierter Konstruktor-Stub}public AppInfo(Drawable app_icon, String app_name, String app_version,String packagename) {super();this.app_icon = app_icon;this.app_name = app_name;this.app_version = app_version;this.packagename = packagename;}public AppInfo(Drawable app_icon, String app_name, String app_version,String packagename, boolean isUserApp) {super();this.app_icon = app_icon;this.app_name = app_name;this.app_version = app_version;this.packagename = packagename;this.isUserApp = isUserApp;}public Drawable getApp_icon() {return app_icon;}public void setApp_icon(Drawable app_icon) {this.app_icon = app_icon;}public String getApp_name() {return app_name;}public void setApp_name(String app_name) {this.app_name = app_name;}public String getApp_version() {return app_version;}public void setApp_version(String app_version) {this.app_version = app_version;}public String getPackagename() {return packagename;}public void setPackagename(String packagename) {this.packagename = packagename;}public boolean isUserApp() {return isUserApp;}public void setUserApp(boolean isUserApp) {this.isUserApp = isUserApp;}@Overridepublic String toString() {return "AppInfo [app_icon =" + app_icon + ", app_name=" + app_name+ ", app_version=" + app_version + ", packagename="+ packagename + ", isUserApp=" + isUserApp + "]";}}