O artigo anterior apresentou diversas funções práticas comumente utilizadas em projetos, portanto, neste artigo apresentarei como obter aplicativos móveis que foram instalados em telefones Android. Bem, sem mais delongas, vamos direto ao código.
private String getInstalledAppListAsString(){ PackageManager pm = context.getPackageManager(); List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_GIDS); getLaunchIntentForPackage(app.packageName) != null) { // aplicativos com intenção de inicialização if((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1) { // aplicativos de sistema atualizados } else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { // aplicativos do sistema } else { // aplicativos instalados pelo usuário stringBuffer.append(app.packageName).append(';'); stringBuffer.toString();Vamos dar uma olhada em como obter informações relevantes sobre cada aplicativo.
package cn.lyz.mobilesafe.domain;import android.graphics.drawable.Drawable;/** * Classe de entidade de informações básicas do aplicativo obtida * @author liuyazhuang * */public class AppInfo {//Icon private Drawable app_icon;//Nome do aplicativo private String app_name;//Número da versão do aplicativo private String app_version;//Nome do pacote do aplicativo private String packagename;//Se é um usuário appprivate boolean isUserApp;public AppInfo() {super();//TODO stub do construtor gerado automaticamente}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(app_icon desenhável) {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 + "]";}}