지정된 응용 프로그램의 실행 아이콘을 숨기는 Launcher3 디자인

LoaderTask ()를 전역으로 찾습니다. loadAllApps 메서드에
loadAllApps 메서드가 있습니다.

           			mBgAllAppsList.add(new AppInfo(app, user, quietMode), app);

런처가로드되면 추가됩니다.
for 루프 내부에서 mBgAllAppsList.add (new AppInfo (app, user, quietMode), app) 이전에 루프됩니다.
메소드를 작성하고
추가하기 전에 추가합니다.

					if(DmConfig.isHiddenPackage(app.getComponentName())){
					continue;
					}

방법 작성

	    public static boolean isHiddenPackage(ComponentName componentName){
    return DM_LAUNCHER_HIDDEN_APP_ENABLE && isHiddenPackage(componentName.getPackageName());
}

방법 작성

public static boolean isHiddenPackage(String packageName){
    boolean isHidden = mHiddenPackageMap.containsKey(packageName);
    if(isHidden) {
        Log.d("isHiddenPackage" + " isHidden=" + isHidden + " packageName=" + packageName);
    }
    return isHidden;
}

지도 작성

	private static final HashMap<String, String> mHiddenPackageMap = new HashMap<>(10);

맵 값에 대한 파일 분석 작성

        try {
         String strList = mContext.getResources().getString(R.string.hiddenPackageList);
        String[] strArray = strList.split(";");
        Log.d("isHiddenPackage " + " strArray.length=" + strArray.length);
        for (String str : strArray){
            mHiddenPackageMap.put(str, str);
        }
    }catch (Exception e){
        e.printStackTrace();
    }

파일 작성 및 추가

	<resources >
<string name="hiddenPackageList" translatable="false">
   " org.chromium.webview_shell;
    com.xiaomi.market;
    com.xiaomi.shop;"</string>

</resources>

어떤 LUNcher에서 어떤 소프트웨어를 숨기려면 파일에 패키지 이름을 추가하기 만하면됩니다.

추천

출처blog.csdn.net/weixin_41422638/article/details/112670861