Android13隐藏某个App需要关注的源码文件

Android系统启动后,需要隐藏某些App。可以修改以下几个文件,实现效果。

QSSI.13/packages/apps/Launcher3/quickstep/src/com/android/launcher3/model/PredictionUpdateTask.java

QSSI.13/packages/apps/Launcher3/src/com/android/launcher3/AppFilter.java

复制代码
public class AppFilter {

    //the apps for disable to show
    public static String[] filters =new String[]{"my.tests.snapdragonsdktest","11222111","com.qlog","com.qualcomm.qti.connmgr"};

    private final Set<ComponentName> mFilteredComponents;
    private final Set<String> noShow = new HashSet<String>();

    public AppFilter(Context context) {
        for(String v : filters) {
            noShow.add(v);
        }
        mFilteredComponents = Arrays.stream(
                context.getResources().getStringArray(R.array.filtered_components))
                .map(ComponentName::unflattenFromString)
                .collect(Collectors.toSet());
    }

    public boolean shouldShowApp(ComponentName app) {
        String clzName = app.getClassName();
        String pkgName = app.getPackageName();
//        Log.e("AppFilter","clzName :===========: "+clzName);
//        Log.e("AppFilter","pkgName :===========: "+pkgName);
        if(pkgName.contains(pkgName)){
            return false;
        }
        return !mFilteredComponents.contains(app);
    }
}

QSSI.13/packages/apps/Settings/src/com/android/settings/applications/manageapplications/ManageApplications.java

不知道该隐藏的App的参数是什么?

可以在BubbleTextView里打Log。

Launcher3里的

复制代码
com.android.launcher3.BubbleTextView
复制代码
    @UiThread
    public void applyFromApplicationInfo(AppInfo info) {
        applyIconAndLabel(info);

        // We don't need to check the info since it's not a WorkspaceItemInfo
        setItemInfo(info);
        //
        Log.e(TAG," title ================ "+info.title);
        Log.e(TAG," title ================ "+info.componentName.getPackageName());
        Log.e(TAG," title ================ "+info.componentName.getClassName());
        // Verify high res immediately
        verifyHighRes();

        if ((info.runtimeStatusFlags & ItemInfoWithIcon.FLAG_SHOW_DOWNLOAD_PROGRESS_MASK) != 0) {
            applyProgressLevel();
        }
        applyDotState(info, false /* animate */);
        setDownloadStateContentDescription(info, info.getProgressLevel());
    }

引用:

https://blog.csdn.net/GG15625686299/article/details/132779824

相关推荐
无巧不成书02186 小时前
Java核心技术全景解析:从白皮书到实战踩坑
java·开发语言
Roy_Sashulin6 小时前
基于AI的Java编程平台
java·开发语言·人工智能·sashulin·deepseek
大傻^6 小时前
Spring AI Alibaba 企业级实战:从0到1构建智能客服系统
java·人工智能·后端·spring·springaialibaba
贼爱学习的小黄6 小时前
NC BIP增加按钮
java
短剑重铸之日6 小时前
《ShardingSphere解读》11 解析引擎:SQL 解析流程应该包括哪些核心阶段?(上)
java·后端·spring·shardingsphere·分库分表
Javatutouhouduan6 小时前
Netty进阶指南:基础+中级+高级+架构行业运用+源码分析
java·netty·java面试·网络io·后端开发·java程序员·互联网大厂
编码忘我6 小时前
java开发模式之静态代理、动态代理、CGLIB代理
java
冬夜戏雪6 小时前
实习面经摘录(八)
java
拾年2756 小时前
别再让 NullPointerException 搞崩你的代码了!Optional + Stream 组合拳详解
java
weixin_404157686 小时前
Java高级面试与工程实践问题集(一)
java·开发语言·面试