Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save hitesh-dhamshaniya/bf7dfee289c6fee16b48 to your computer and use it in GitHub Desktop.
Save hitesh-dhamshaniya/bf7dfee289c6fee16b48 to your computer and use it in GitHub Desktop.
class PInfo {
private String appname = "";
private String pname = "";
private String versionName = "";
private int versionCode = 0;
private Drawable icon;
private void prettyPrint() {
Log.v("LOG===> ", appname + "\t" + pname + "\t" + versionName
+ "\t" + versionCode);
}
}
private ArrayList<PInfo> getPackages() {
ArrayList<PInfo> apps = getInstalledApps(true); /*
* false = no system
* packages
*/
final int max = apps.size();
for (int i = 0; i < max; i++) {
apps.get(i).prettyPrint();
}
return apps;
}
private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
if ((!getSysPackages) && (p.versionName == null)) {
continue;
}
if ((p.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
String AppName = p.applicationInfo.loadLabel(
getPackageManager()).toString();
Log.e("App № " + Integer.toString(i), AppName);
PInfo newInfo = new PInfo();
newInfo.appname = p.applicationInfo.loadLabel(
getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
res.add(newInfo);
}
}
return res;
}
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent LaunchApp = getPackageManager()
.getLaunchIntentForPackage(
arryListAppInfo.get(position).pname);
startActivity(LaunchApp);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment