检索安装在Android设备上的每个已安装应用程序导入的包列表

时间:2014-03-19 13:18:06

标签: android android-activity apk android-package-managers

有人能告诉我一种方法来检索设备上安装的任何Android应用程序导入的软件包列表吗? 我想开发一个应用程序,我想检查是否有任何已安装的应用程序正在使用广告软件包,因此,为了检查这一点,我想要一个安装在设备上的任何特定应用程序导入的软件包列表。

我已编写以下代码以获取已安装应用程序的列表

    try {
        mPkgMngr = getPackageManager();
    } catch (Exception e) {
        mPkgMngr = null;
        System.out.println(e.getMessage());
        return false;
    }

    try {
        mPackages = mPkgMngr.getInstalledApplications(PackageManager.GET_META_DATA); 
    } catch(Exception e) {
        mPackages = null;
        System.out.println(e.getMessage());
        return false;
    }

我也可以使用以下方法获取packageInfo和applicationInfo

    try {
        mCurAppInfo = mPkgMngr.getApplicationInfo(
                                                PackageName,
                                                PackageManager.GET_META_DATA
                                            );
    } catch (NameNotFoundException e) {
        System.out.println(e.getMessage());
        mCurAppInfo = null;
        mCurPkgInfo = null;
        return false;
    }

    try {
        mCurPkgInfo= mPkgMngr.getPackageInfo(
                                                PackageName,
                                                PackageManager.GET_ACTIVITIES | PackageManager.GET_SERVICES |
                                                PackageManager.GET_RECEIVERS | PackageManager.GET_PROVIDERS |
                                                PackageManager.GET_PERMISSIONS
                                            );
    } catch (NameNotFoundException e) {
        System.out.println(e.getMessage());
        mCurAppInfo = null;
        mCurPkgInfo = null;
        return false;
    }

我可以使用上面检索的信息来获取应用程序导入的软件包列表吗? 如果没有,有人可以建议我任何其他方法吗? 提前致谢。

0 个答案:

没有答案