Java 编程AOSP Launcher3以隐藏特定的应用程序

Java 编程AOSP Launcher3以隐藏特定的应用程序,java,android,Java,Android,我试图通过添加和更改应用程序源代码来隐藏应用程序,但每次都失败了 是否可以通过编辑Launcher3源代码来隐藏特定的应用程序?顺便说一句,我正在使用AOSP build,希望将第三方开源应用程序集成到设置中,这样它只能从设置中打开。查看原始Launcher3源代码,您将在/src/com/android/Launcher3下找到AppFilter文件。从文件名本身,我们知道它是一个用于过滤应用程序的类。有一种方法叫做“代码> BuudStuppApp/,顾名思义,是考虑是否需要显示一个应用程序

我试图通过添加和更改应用程序源代码来隐藏应用程序,但每次都失败了


是否可以通过编辑Launcher3源代码来隐藏特定的应用程序?顺便说一句,我正在使用AOSP build,希望将第三方开源应用程序集成到设置中,这样它只能从设置中打开。

查看原始Launcher3源代码,您将在
/src/com/android/Launcher3
下找到
AppFilter
文件。从文件名本身,我们知道它是一个用于过滤应用程序的类。有一种方法叫做“代码> BuudStuppApp/<代码>,顾名思义,是考虑是否需要显示一个应用程序。 接下来,
AllAppsList.java
在add方法中使用此方法。显然,当
mAppFilter.shouldShowApp
返回false时,它将直接返回,使应用程序从应用程序列表中排除,而应用程序列表不会显示

因此,, 最简单的方法是将
AppFilter.java
中的行更改为
return!“com.google.android.gm”.equals(app.getPackageName())
,其中这段代码将确保程序包“
com.google.android.gm
”(Gmail)不会出现在Launcher中

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());
    }
}

希望有帮助。

查看原始Launcher3源代码,您将在
/src/com/android/Launcher3
下找到
AppFilter
文件。从文件名本身,我们知道它是一个用于过滤应用程序的类。有一种方法叫做“代码> BuudStuppApp/<代码>,顾名思义,是考虑是否需要显示一个应用程序。 接下来,
AllAppsList.java
在add方法中使用此方法。显然,当
mAppFilter.shouldShowApp
返回false时,它将直接返回,使应用程序从应用程序列表中排除,而应用程序列表不会显示

因此,, 最简单的方法是将
AppFilter.java
中的行更改为
return!“com.google.android.gm”.equals(app.getPackageName())
,其中这段代码将确保程序包“
com.google.android.gm
”(Gmail)不会出现在Launcher中

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());
    }
}

希望对您有所帮助。

从开源应用程序中删除
启动器
不是更简单吗?拼写错误轻微更正。尝试过了。。。但是无法启动
main活动
从开源应用程序中删除
启动器
不是更简单吗?拼写错误较小。尝试过了。。。但无法启动
main活动