gpt4 book ai didi

java - 对 AOSP Launcher3 进行编程以隐藏特定应用程序

转载 作者:行者123 更新时间:2023-12-01 08:53:01 25 4
gpt4 key购买 nike

我尝试通过添加和更改应用程序源代码来从启动器中隐藏应用程序,但每次都失败。

是否可以通过编辑Launcher3源代码来从启动器中隐藏特定应用程序?顺便说一句,我正在使用 AOSP 构建,并希望将第 3 方开源应用程序集成到“设置”中,以便只能从“设置”中打开它。

最佳答案

查看原始Launcher3源代码,您会在/src/com/android/launcher3下找到AppFilter文件。从文件名本身,我们知道它是一个过滤应用程序的类。有一个方法叫shouldShowApp,顾名思义,就是考虑一个应用程序是否需要显示。

接下来,AllAppsList.java 在 add 方法中使用此方法。显然,当mAppFilter.shouldShowApp返回false时,会直接返回,从而将应用程序从应用程序列表中排除,从而不会显示。

因此,最简单的方法是简单地将 AppFilter.java 中的行更改为 return !"com.google.android.gm".equals(app.getPackageName());,其中这段代码将确保包“com.google.android.gm”(Gmail) 被排除在启动器中显示之外。

package com.android.launcher3;

import android.content.ComponentName;
import android.content.Context;

public class AppFilter {

public static AppFilter newInstance(Context context) {
return Utilities.getOverrideObject(AppFilter.class, context,
R.string.app_filter_class);
}

public boolean shouldShowApp(ComponentName app) {
return !"com.google.android.gm".equals(app.getPackageName());
}
}

希望这有帮助。

关于java - 对 AOSP Launcher3 进行编程以隐藏特定应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42257870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com