Skip to content

Instantly share code, notes, and snippets.

@arashmidos
Last active January 1, 2017 16:53
Show Gist options
  • Save arashmidos/096066f4858e910ecacf8759d0ba41f6 to your computer and use it in GitHub Desktop.
Save arashmidos/096066f4858e910ecacf8759d0ba41f6 to your computer and use it in GitHub Desktop.
Check installation source of all app to see if it is installed from Markets or sideloaded
public void showAllAppInfo()
{
PackageManager packageManager = getPackageManager();
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
String market = "";
String appName = "";
String appVersion = "";
for (int i = 0; i < list.size(); i++)
{
String packageName = list.get(i).packageName;
String name = packageManager.getInstallerPackageName(packageName);
if (name == null)
{
continue;
}
switch (name)
{
case "com.farsitel.bazaar":
market = "Bazaar";
break;
case "com.android.vending":
market = "GooglePlay";
break;
case "com.amazon.venezia":
case "com.amazon.mshop.android":
market = "Amazon App Store";
break;
default:
market = name;
}
try
{
PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0);
if (packageInfo != null)
{
appName = packageManager.getApplicationLabel(packageInfo.applicationInfo)
.toString();
appVersion = packageInfo.versionName;
}
} catch (PackageManager.NameNotFoundException ignore)
{
}
Log.d(TAG, String.format("App %s ( %s ) version %s installed from %s", appName, packageName, appVersion != null ? appVersion : "--", market));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment