用户安装的应用程序列表 [英] List of user installed apps

查看:203
本文介绍了用户安装的应用程序列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何获得应用程序的已安装的Andr​​oid设备上的用户列表。
我现在用的是下面这段code的时刻:

 名单,其中,PackageInfo>包= getPackageManager()getInstalledPackages(0)。
 

但它返回已安装的两个设备制造商和我的应用程序。如何我限制它,这样只有我安装了应用程序返回?

解决方案

  //标志:参见下面
INT标志= PackageManager.GET_META_DATA |
            PackageManager.GET_SHARED_LIBRARY_FILES |
            PackageManager.GET_UNINSTALLED_PACKAGES;

PackageManager下午= getPackageManager();
名单< ApplicationInfo>应用= pm.getInstalledApplications(标志);
对于(ApplicationInfo APPINFO:应用程序){
    如果((appInfo.flags&安培; ApplicationInfo.FLAG_SYSTEM)== 1){
        //系统应用
    } 其他 {
        //安装用户
    }
}
 

标记:

  • <一个href="http://developer.android.com/reference/android/content/pm/PackageManager.html#GET_META_DATA">GET_META_DATA
  • <一个href="http://developer.android.com/reference/android/content/pm/PackageManager.html#GET_SHARED_LIBRARY_FILES">GET_SHARED_LIBRARY_FILES
  • <一个href="http://developer.android.com/reference/android/content/pm/PackageManager.html#GET_UNINSTALLED_PACKAGES">GET_UNINSTALLED_PACKAGES

How do I get a list of Apps that have been installed by the user on an Android device.
I am using the following piece of code at the moment:

List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);

but it returns Apps that have been installed by the both device manufacturer and me. How to I limit it so that only the apps that I installed are returned?

解决方案

// Flags: See below
int flags = PackageManager.GET_META_DATA | 
            PackageManager.GET_SHARED_LIBRARY_FILES |     
            PackageManager.GET_UNINSTALLED_PACKAGES;

PackageManager pm = getPackageManager();
List<ApplicationInfo> applications = pm.getInstalledApplications(flags);
for (ApplicationInfo appInfo : applications) {
    if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
        // System application
    } else {
        // Installed by user
    }
}

Flags:

这篇关于用户安装的应用程序列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆