Browse Source

1.添加包名去重。

master
wangwanlei 10 months ago
parent
commit
b06ee13c4a
1 changed files with 4 additions and 1 deletions
  1. 4
    1
      corelib/src/main/java/com/xhly/corelib/utils/AppUtils.java

+ 4
- 1
corelib/src/main/java/com/xhly/corelib/utils/AppUtils.java View File

19
 public class AppUtils {
19
 public class AppUtils {
20
     public static List<AppInfo> GetAppList(Context context) {
20
     public static List<AppInfo> GetAppList(Context context) {
21
         List<AppInfo> list = new ArrayList<>();
21
         List<AppInfo> list = new ArrayList<>();
22
+        List<String>  pkgList=new ArrayList<>();
22
         PackageManager pm = context.getPackageManager();
23
         PackageManager pm = context.getPackageManager();
23
         Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
24
         Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
24
         mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
25
         mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
26
         for (ResolveInfo info : activities) {
27
         for (ResolveInfo info : activities) {
27
             String packName = info.activityInfo.packageName;
28
             String packName = info.activityInfo.packageName;
28
             LogShow("数据","数据类名" + packName+"|||"+info.activityInfo.name);
29
             LogShow("数据","数据类名" + packName+"|||"+info.activityInfo.name);
29
-            if (packName.equals(context.getPackageName())) {
30
+            //去重
31
+            if (packName.equals(context.getPackageName())||pkgList.contains(packName)) {
30
                 continue;
32
                 continue;
31
             }
33
             }
32
             AppInfo mInfo = new AppInfo();
34
             AppInfo mInfo = new AppInfo();
33
             mInfo.setIco(info.activityInfo.applicationInfo.loadIcon(pm));
35
             mInfo.setIco(info.activityInfo.applicationInfo.loadIcon(pm));
34
             mInfo.setName(info.activityInfo.applicationInfo.loadLabel(pm).toString());
36
             mInfo.setName(info.activityInfo.applicationInfo.loadLabel(pm).toString());
35
             mInfo.setPackageName(packName);
37
             mInfo.setPackageName(packName);
38
+            pkgList.add(packName);
36
             try {
39
             try {
37
                 PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packName, PackageManager.GET_META_DATA);
40
                 PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packName, PackageManager.GET_META_DATA);
38
                  mInfo.setVersionName(packageInfo.versionName);
41
                  mInfo.setVersionName(packageInfo.versionName);

Loading…
Cancel
Save