да, вы можете получить
public class ListofAppinMyDevice {
public class PInfo {
public String appname = "";
public String pname = "";
public String versionName = "";
public int versionCode = 0;
}
public ArrayList<PInfo> getInstalledApps(boolean getSysPackages)
{
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = AppUtils.mContext.getPackageManager().getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
ApplicationInfo s=p.applicationInfo;
if(((s.flags & ApplicationInfo.FLAG_SYSTEM)!=1))
{
PInfo newInfo = new PInfo();
newInfo.appname = p.applicationInfo.loadLabel(AppUtils.mContext.getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
System.out.println("3rd party apps-------------------"+p.packageName +"--------"+newInfo.appname);
res.add(newInfo);
}
if ((!getSysPackages) ) {
continue ;
}
}
return res;
}
}
// вы можете получить приложение, установленное системой, используя следующий метод
public static void listPackages() {
ListofAppinMyDevice getmyApp=new ListofAppinMyDevice();
apps =getmyApp.getInstalledApps(true);
/* false = will get 3rd part package detials
true -will get all system packages */
System.out.println("Total InstalledApps in your device--=="+apps.size());
final int max = apps.size();
applist=new StringBuilder();
for (int i=0; i<max; i++) {
String packageName=apps.get(i).pname;
}