android获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
来源:互联网 发布:淘宝春季女装新款 编辑:程序博客网 时间:2024/05/16 06:02
获取所有应用及相关信息
方法1:ResolveInfo
- 获取全部应用:
- PackageManager packageManager = getPackageManager();
- Intent mIntent = new Intent(Intent.ACTION_MAIN, null);
- mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- List<ResolveInfo> listAllApps = packageManager.queryIntentActivities(mIntent, 0);
- 判断是否系统应用:
- ResolveInfo appInfo = listAllApps.get(position);
- String pkgName = appInfo.activityInfo.packageName;//获取包名
- //根据包名获取PackageInfo mPackageInfo;(需要处理异常)
- mPackageInfo = mContext.getPackageManager().getPackageInfo(pkgName, 0);
- if ((mPackageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
- //第三方应用
- } else {
- //系统应用
- }
- 获取相关信息:
- ResolveInfo mResolveInfo ;
- 获取包名: mResolveInfo.activityInfo.packageName;
- 获取icon: mResolveInfo.loadIcon(packageManager);
- 获取应用名: mResolveInfo.loadLabel(packageManager).toString();
方法2:PackageInfo
- 获取全部应用:
- PackageManager packageManager = this.getPackageManager();
- List<PackageInfo> packageInfoList = packageInfoList .getInstalledPackages(0);
- 判断是否系统应用:
- List<PackageInfo> apps = new ArrayList<PackageInfo>();
- for (int i = 0; i < packageInfoList.size(); i++) {
- PackageInfo pak = (PackageInfo)packageInfoList.get(i);
- //判断是否为系统预装的应用
- if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {
- // 第三方应用
- apps.add(pak);
- } else
- {
- //系统应用
- }
- }
- 获取相关信息:
- PackageInfo mPackageInfo;
- 获取包名: mPackageInfo.packageName
- 获取icon: mPackageInfo.getApplicationIcon(applicationInfo);
- 获取应用名: mPackageInfo.getApplicationLabel(applicationInfo);
- 获取使用权限:
- mPackageInfo.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissions;
监听应用的安装和卸载:
- //////////////注册广播,监听安装和卸载
- public void onReceive(Context context, Intent intent) {
- if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
- //获取安装应用的包名
- String packageName = intent.getDataString();
- } else if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
- //获取卸载应用的包名
- String packageName = intent.getDataString();
- }
- }
0 0
- 获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- android获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- android获取应用信息,判断应用来源,监听应用的安装和卸载
- 获取系统中的系统应用或者第三方应用信息
- 在 terminal 下安装和卸载 第三方应用和系统应用
- 判断手机系统应用和第三方应用的方法
- 监听应用卸载和安装
- Android:获取应用信息,打开、卸载应用
- 系统应用和第三方应用跳转
- 获取已安装应用信息,判断是否为系统应用
- 获取android手机中已安装应用信息以及应用安装和卸载代码集合
- android安装第三方应用
- android快捷卸载第三方应用
- Android之快捷卸载第三方应用
- Android 监听应用卸载
- Android 第三方应用监听home键
- Android监听进入和退出第三方应用
- 启动第三方或系统的应用
- 分页查询,并且排序
- 新人报道
- 文件操作(复制、删除、修改)
- 当只有一个APK的时候使用robotium进行自动化测试_测试Toast
- git使用流程(简单易懂)
- android获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- VS2010拖动用户控件卡死解决办法
- HDU 4849 —— Wow! Such City!(最短路)
- 后缀数组 学习指南
- HDU 2767 Proving Equivalences(强连通 Tarjan+缩点)
- POJ3695-Rectangles
- sys.user$ 记录用户密码
- rtems驱动的组织
- Android开发 MeasureSpec介绍