Example usage for android.content.pm PackageManager getPackageArchiveInfo

List of usage examples for android.content.pm PackageManager getPackageArchiveInfo

Introduction

In this page you can find the example usage for android.content.pm PackageManager getPackageArchiveInfo.

Prototype

public PackageInfo getPackageArchiveInfo(String archiveFilePath, @PackageInfoFlags int flags) 

Source Link

Document

Retrieve overall information about an application package defined in a package archive file

Usage

From source file:Main.java

public static String getApkPackagename(Context context, String apkPath) {
    if (apkPath == null)
        return null;

    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info == null)
        return null;

    return info.packageName;
}

From source file:Main.java

public static String getApkPackageName(Context context, String apkPath) {
    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info != null) {
        ApplicationInfo appInfo = info.applicationInfo;
        appInfo.sourceDir = apkPath;/*ww w . j  a  v a 2  s  .  co m*/
        appInfo.publicSourceDir = apkPath;
        return appInfo.packageName;
    }
    return "";
}

From source file:Main.java

public static PackageInfo getApkFilePackageInfo(Context context, String apkFilePath) {
    try {//  w  w w  . j a  v  a  2  s.  co  m
        PackageManager pm = context.getPackageManager();
        PackageInfo info = pm.getPackageArchiveInfo(apkFilePath, 0);
        return info;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:Main.java

/**
 * get UnInstallApkPackageName//from   www .  j av a2  s .  c  o  m
 *
 * @param context Context
 * @param apkPath apkPath
 * @return apk PackageName
 */
public static String getUnInstallApkPackageName(Context context, String apkPath) {
    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info != null) {
        ApplicationInfo appInfo = info.applicationInfo;
        if (appInfo != null) {
            return appInfo.packageName;
        }
    }
    return null;
}

From source file:Main.java

public static Drawable getApkIcon(Context context, String apkPath) {
    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info != null) {
        info.applicationInfo.sourceDir = apkPath;
        info.applicationInfo.publicSourceDir = apkPath;
        ApplicationInfo applicationInfo = info.applicationInfo;
        return applicationInfo.loadIcon(pm);
    }/* w w  w .  j  av a  2 s.  c  om*/
    return null;
}

From source file:Main.java

public static Bitmap getApkIcon(Context context, String apkPath) {
    Bitmap thumb = null;/*from ww w  . jav a2s.  c om*/
    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info != null) {
        ApplicationInfo appInfo = info.applicationInfo;
        appInfo.sourceDir = apkPath;
        appInfo.publicSourceDir = apkPath;
        try {
            thumb = ((BitmapDrawable) appInfo.loadIcon(pm)).getBitmap();
        } catch (OutOfMemoryError e) {

        }
    }
    return thumb;
}

From source file:Main.java

public static boolean apkIsInstall(Context context, String apkPath) {
    PackageManager pm = context.getPackageManager();
    PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
    if (info != null) {
        ApplicationInfo appInfo = info.applicationInfo;
        appInfo.sourceDir = apkPath;/*from   w w  w  .  ja  v  a2 s.c o  m*/
        appInfo.publicSourceDir = apkPath;
        try {
            pm.getPackageInfo(appInfo.packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
            return true;
        } catch (PackageManager.NameNotFoundException localNameNotFoundException) {
            return false;
        }
    }
    return false;
}

From source file:Main.java

public static PackageInfo getAPKInfo(Context c, File apk) {
    if (!apk.exists())
        return null;
    String archiveFilePath = apk.getAbsolutePath();
    PackageManager pm = c.getPackageManager();
    //PackageManager.GET_ACTIVITIES = 1
    PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, 1);
    return info;/*from www . jav a2 s.co m*/
}

From source file:Main.java

public static String getPackageByApkFilePath(Context context, String path) {
    PackageManager pm = context.getPackageManager();
    String packageName = "";
    PackageInfo info = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
    ApplicationInfo appInfo = null;//  www .j ava 2s. com
    if (info != null) {
        appInfo = info.applicationInfo;
        packageName = appInfo.packageName;
        //            System.out.println("packageName:" + packageName);
    }
    return packageName;
}

From source file:Main.java

/**
 * Get the package info of the specified apk file.
 * //from  ww w  . j ava  2  s .c  o  m
 * @param  context the context
 * @param  apkFile the apk file
 * @return
 */
public static PackageInfo getApkInfo(Context context, File apkFile) {
    if (context == null || apkFile == null || !apkFile.exists()) {
        return null;
    }

    PackageManager packageManager = context.getPackageManager();
    PackageInfo pkgInfo = packageManager.getPackageArchiveInfo(apkFile.getAbsolutePath(),
            PackageManager.GET_ACTIVITIES);

    return pkgInfo;
}