我尝试通过在应用来源中添加和更改代码来隐藏应用程序,但每次都失败。
是否可以通过编辑Launcher3源代码隐藏启动器中的特定应用程序?顺便说一句,我正在使用AOSP构建,并希望将第三方开源应用程序集成到“设置”中,以便只能从“设置”中打开它。
答案 0 :(得分:0)
浏览原始的Launcher3源代码,您将在AppFilter
下找到/src/com/android/launcher3
文件。从文件名本身来看,我们知道这是一个过滤应用程序的类。顾名思义,有一种称为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());
}
}
希望获得帮助。