Android getInstalledPackages -


i creating android app has list of apps user can access android phone menu. here code working successfully..

list<app> apps = new arraylist<app>();            // package manager contains information installed apps           packagemanager packagemanager = getpackagemanager();            list<packageinfo> packs = packagemanager.getinstalledpackages(0); //packagemanager.get_meta_data             for(int i=0; < packs.size(); i++) {              packageinfo p = packs.get(i);              applicationinfo = p.applicationinfo;              // skip system apps if shall not included              if ((!includesysapps) && ((a.flags & applicationinfo.flag_system) == 1)) {                 continue;              }              app app = new app();              app.settitle(p.applicationinfo.loadlabel(packagemanager).tostring());              app.setpackagename(p.packagename);              app.setversionname(p.versionname);              app.setversioncode(p.versioncode);              charsequence description = p.applicationinfo.loaddescription(packagemanager);              app.setdescription(description != null ? description.tostring() : "");              apps.add(app);           } 

now gives me big list , can classify items in 3 ways :

1st (apps like): speed moto, subway surf, chrome (which installed)

2nd (apps like):camera, email, messaging (installed default)

3rd (.... like):pagebuddynotisvc, dialer storage etc (some packages)

now want filter 3rd type of apps , want keep 1st , 2nd type.. how can achieve list..

you can information each application using following code

applicationinfo app = context.getpackagemanager().getapplicationinfo(packagename, 0); //and check  dir  if (app.sourcedir.startswith("/data/app/")) {     //non-system app } else {     //system app } 

Comments