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
Post a Comment