El artículo anterior le presentó varias funciones prácticas comúnmente utilizadas en proyectos, por lo que en este artículo le presentaré cómo obtener aplicaciones móviles que se han instalado en teléfonos Android. Bueno, sin más preámbulos, vayamos directamente al código.
cadena privada getInstalledAppListAsString(){ PackageManager pm = context.getPackageManager(); List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_GIDS); StringBuffer stringBuffer = new StringBuffer(); getLaunchIntentForPackage(app.nombredelpaquete)!= null) { // aplicaciones con intención de inicio if((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1) { // aplicaciones del sistema actualizadas } else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { // aplicaciones del sistema } else { // aplicaciones instaladas por el usuario stringBuffer.append(app.packageName).append(';'); cadenaBuffer.toString();Veamos cómo obtener información relevante sobre cada aplicación.
paquete cn.lyz.mobilesafe.domain;import android.graphics.drawable.Drawable;/** * Información básica de la aplicación obtenida clase de entidad * @author liuyazhuang * */public class AppInfo {//Icon private Drawable app_icon;//Nombre de la aplicación private String app_name;//Número de versión de la aplicación private String app_version;//Nombre del paquete de la aplicación private String packagename;//Si es una aplicación de usuarioprivate boolean isUserApp;public AppInfo() {super();//TODO Código auxiliar de constructor generado automáticamente}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 = nombre del paquete;}public AppInfo(app_icon dibujable, Cadena nombre_aplicación, Cadena versión_aplicación, Cadena nombre del paquete, booleano isUserApp) {super();this.app_icon = app_icon;this.app_name = app_name;this.app_version = app_version;this.packagename = nombre del paquete;this.isUserApp = isUserApp;}Dibujable público getApp_icon() {return app_icon;}public void setApp_icon(app_icon dibujable) {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 nombre del paquete) {this.packagename = nombre del paquete;}public boolean isUserApp() {return isUserApp;}public void setUserApp(boolean isUserApp) {this.isUserApp = isUserApp;}@Overridepublic String toString() {return "AppInfo [app_icon =" + icono_aplicación + ", nombre_aplicación=" + nombre_aplicación+ ", versión_aplicación=" + app_version + ", nombre del paquete="+ nombre del paquete + ", isUserApp=" + isUserApp + "]";}}