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

相关推荐
二月夜7 小时前
剖析Java正则表达式回溯问题
java·正则表达式
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
程序员二叉8 小时前
【Java】集合面试全套精讲|HashMap/ArrayList高频考点完整版
java·面试·哈希算法
cfm_29149 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
心之伊始9 小时前
LangChain4j RAG 实战:Java 后端如何把本地文档接入 Embedding 检索链路
java·架构·源码分析·csdn
许彰午9 小时前
17_synchronized关键字深度解析
java·开发语言
Xzh042311 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
艾利克斯冰11 小时前
Java 设计模式-行为型模式(更新中)
java·开发语言·设计模式
倒霉蛋小马12 小时前
Java新特性:record关键字
java·开发语言
黄林晴12 小时前
Google Play 发版链路全面重构:合规前置、审核自动化、生态全面收紧
android·google