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

相关推荐
Patrick在香港5 分钟前
Python 拉取 C&SD 官方 API:香港 2022 年已跨过“超老龄线“,而抚养比正在爬回 1961
android·c语言·python·数据分析·时序数据库·数据可视化·香港
信誓旦旦的程序猿8 分钟前
【零依赖量化数据实战 #25】北交所技术指标与基本面
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
万年咸鱼12 分钟前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
mmsx34 分钟前
osmdroid 地图实战 03|谷歌影像的 URL,为什么不能 setTileSource 了事?
android
CoderYanger35 分钟前
A.每日一题:3345. 最小可整除数位乘积 I
java·数据结构·程序人生·算法·leetcode·面试·学习方法
小刘是地理大王40 分钟前
OpenFeign 兜底回调(fallback / fallbackFactory)实战指南
java·后端
hai_android43 分钟前
Kotlin 协程上下文(CoroutineContext)深度解析
android
橘子汽水16843 分钟前
Leetcode15:三数之和
java·数据结构·算法
Nolla44 分钟前
为什么 assertThrows 需要 () ->:Lambda 延迟执行与异常捕获
java