Предыдущая статья познакомила вас с несколькими практическими функциями, обычно используемыми в проектах, поэтому в этой статье я расскажу вам, как получить мобильные приложения, установленные на телефонах Android. Что ж, без лишних слов, перейдем непосредственно к коду.
частная строка 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) { // приложения с намерением запуска if((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1) { // обновленные системные приложения } else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { // системные приложения } else { // приложения, установленные пользователем stringBuffer.append(app.packageName).append(';'); return stringBuffer.toString() };Давайте посмотрим, как получить соответствующую информацию о каждом приложении.
package cn.lyz.mobilesafe.domain;import android.graphics.drawable.Drawable;/** * Полученный класс объекта основной информации о приложении * @author liuyazhuang * */public class AppInfo {//Icon Private Drawable app_icon;//Имя приложения Private String app_name;//Номер версии приложения Private String app_version;//Имя пакета приложения Private String packagename;//Является ли это пользователем appprivate boolean isUserApp;public AppInfo() {super();//TODO Автоматически созданная заглушка конструктора}public AppInfo(Drawable app_icon, String app_name, String app_version, String packagename) {super();this.app_icon = app_icon;this.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_version + ", packagename="+ packagename + ", isUserApp=" + isUserApp + "]";}}