我也想问
怎么把新安装的软件放在原本launcher那个列出所有软件的最后,目前是排列的,新安装的软件也会根据名字排列进原本的排列中!

解决方案 »

  1.   


    你看看launcher的源码LauncherModel.java中的ApplicationsLoader这是起的一个线程来获取有那个Application, 然后显示出来:获得app:            final PackageManager manager = launcher.getPackageManager();
                final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0);默认的,找到每个并排布:                for (int i = 0; i < count && !mStopped; i++) {
                        ResolveInfo info = apps.get(i);
                        ApplicationInfo application =
                            makeAndCacheApplicationInfo(manager, appInfoCache, info, launcher);                    if (action.add(application) && !mStopped) {
                            launcher.runOnUiThread(action);
                            action = new ChangeNotifier(applicationList, false);
                        }
                    }应该在这里修改一下就可以了,我觉得不会太难
      

  2.   

    上面说的是在drawer里面的, 如果是在workspace上的,就更好该了。
      

  3.   

    哈哈哈,这个我正好改过。
    其实的话可以的,你想想 for (int i = 0; i < count && !mStopped; i++) {
                        ResolveInfo info = apps.get(i);
                        ApplicationInfo application =
                            makeAndCacheApplicationInfo(manager, appInfoCache, info, launcher);                    if (action.add(application) && !mStopped) {
                            launcher.runOnUiThread(action);
                            action = new ChangeNotifier(applicationList, false);
                        }
                    }
    这个是将所有的都显示出来,那么,你可以在这个之前,先将你需要的几个检索出来,现实出来,然后再现实其它的按照顺序排列的不就行了?另外,如果你想让那几个还不能被拖动和替换的话,你需要在拖动的里面将位置的起始从那几个之外开始就行了,但是还必须得将放下的位置也限定一下,不然别的图标可以和它交换的啊。