隐藏手机中预置的所有APP及显示需要的APP

在android4.4中,如果想要隐藏掉手机中在launcher的图标,据我所知的方法为两中,具体如下做记录。


1. 源代码中的package文件夹下的Launcher下的AppsCustomizePagedView.java中在AppsCustomizePagedView.java中建立方法

    private void hideAppAtLauncher(ArrayList<ApplicationInfo> list) {
        if (LauncherApplication.LAUNCHER_HIDE_HOMELOCATION) {
            for (int i = 0; i < list.size(); ++i) {
                if (list.get(i) == null || list.get(i).componentName == null) {
                    continue;
                }

                String packageName = list.get(i).componentName.getPackageName();

                if (packageName != null && packageName.contains(HOMELOCATION_PACKAGE_NAME)) {
                    list.remove(i);
                }
            }
        }
    }


具体修改在方法里面即可,如只想要显示某一个应用 其他全部不显示那么就可以这样做。

在方法中添加一个ArrayList ArrayList<ApplicationInfo> newList = new ArrayList<ApplicationInfo>();

之后获取手机中所有应用的包名:String packageName = appInfo.componentName.getPackageName();

获取包名之后,可以增加判断

if (packageName != null) {
                    if (packageName.equals("com.***.***")
                            || packageName.startsWith("com.***.***")) {
                        newList.add(appInfo);
                    }

之后清空List 并将需要现实的添加即可

            list.clear();
            for(int j = 0; j < newList.size(); ++j) {
                list.add(newList.get(j));
            }


2.第二中方法:

    可以直接在values中的String.xml中添加一个 string-array数组,如:

/**

*参照源代码

*/

     <string-array name="white_app_list">
        <item>Sort by alphabet</item>
        <item>Sort by favorite</item>
    </string-array>

同样在此类中此方法中,遍历此数组之后在过滤显示

               String packageName = appInfo.componentName.getPackageName();
                final String[] items = getResources().getStringArray(R.array.white_app_list);
                if (packageName !=null) {
                    for (int j = 0; j < items.length; j++) {
                       if(packageName.contains(items[j])){
                            newList.add(appInfo);
                        }
                    }
                }


参照添加到上述代码中即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值