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

相关推荐
秋93 小时前
TiDB 数据库全链路实战指南:从下载部署到 Java 高并发调优
java·数据库·tidb
JAVA面经实录9173 小时前
Java开发工程基础完整手册(企业实战完整版)
java·开发语言·git·ci/cd·svn·github·intellij idea
李艺为3 小时前
Fake Device Test作假屏幕分辨率分析
android·java
无敌的黑星星4 小时前
Spring @Transactional 注解全解析
java·数据库·oracle
xiaogg36784 小时前
spring oauth2 单点登录
java·vue.js·spring
zh_xuan4 小时前
github远程library仓库升级
android·github
c++之路4 小时前
C++ STL
java·开发语言·c++
峥嵘life4 小时前
Android蓝牙停用绝对音量原理
android
白晨并不是很能熬夜4 小时前
【RPC】第 4 篇:服务发现 — Zookeeper + 缓存容错
java·后端·程序人生·缓存·zookeeper·rpc·服务发现
EvenBoy4 小时前
IDEA中使用CodeX
java·ide·intellij-idea