Android 15.0 屏蔽Launcher3桌面app图标的长按功能

1.概述

在15.0的系统产品定制化开发中,系统默认的Launcher3在workspace 第二屏通常都会显示app列表 点击进入app 列表页,长按app的icon图标会弹出 应用信息 弹窗
等信息,而产品的开发需要,不需要弹出这些信息,所以要求去掉app的icon图标的长按功能

2.屏蔽Launcher3桌面app图标的长按功能的核心类

    packages\apps\Launcher3\src\com\android\launcher3\allapps\BaseAllAppsAdapter.java
    packages/apps/Launcher3/src/com/android/launcher3/WorkspaceLayoutManager.java

3.屏蔽Launcher3桌面app图标的长按功能的核心功能分析和实现

Launcher3顾名思义,就是桌面的意思,也是android系统启动后第一个启动的应用程序
Launcher3的核心类
BubbleTextView.java:Launcher所有图标文字显示的父类,包括文字的大小,文字刷新的的父类。
CellLayout.java:Launcher布局的计算类,图标的显示边距等,组成workspace的view,继承自viewgroup,既是一个dragSource又是一个dropTarget,可以将它里面的item拖出去

<think>嗯,用户问的是如何在安卓设备的桌面上隐藏或屏蔽某个应用的图标。我需要根据提供的引用内容来回答这个问题。首先,看看引用里提到的内容有没有相关的信息。 引用3提到:“先将所有gaia界面写出来,并hide,留app窗口,最先是homescreen 填充在里面,所有的应用窗口都放这里展示。” 这里可能涉及到隐藏界面或窗口的方法,可能应用图标隐藏有关。不过具体怎么操作呢? 然后引用5提到在WorkspaceLayoutManager.java中的addInScreen方法,以及设置按事件ItemLongClickListener。可能是在Launcher3的代码中,通过修改布局或者监听按事件来控制图标的显示。但用户可能不会直接修改系统代码,所以需要找到用户可操作的方法。 另外,引用1中的LinearLayout可能涉及布局结构,但用户可能需要的是设置应用组件是否可见。通常安卓中隐藏应用图标可以通过禁用组件或者修改启动器设置。例如,使用PackageManager来禁用组件,或者在启动器设置中隐藏。 根据我的知识,常规方法包括使用应用抽屉设置隐藏、使用第三方启动器、或者通过ADB命令禁用应用组件。需要检查引用中有没有提到这些方法。引用5提到按事件的处理,可能某些启动器允许图标隐藏,但原生安卓可能不支持。 综合引用内容常规方法,可能需要指导用户使用PackageManager或者第三方启动器。如果用户有系统权限,可以通过修改Launcher3的代码,但普通用户可能无法做到。所以回答应该包含常见方法,并引用相关的内容作为支持。</think>### 如何在安卓设备上隐藏应用图标? #### 方法一:通过**应用组件禁用**(系统级) 1. **使用`PackageManager`隐藏图标** 在AndroidManifest.xml中为目标应用的主Activity添加`android:enabled="false"`属性,或通过代码动态禁用组件: ```java PackageManager pm = getPackageManager(); ComponentName component = new ComponentName("com.example.app", "com.example.app.MainActivity"); pm.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); ``` 此方法需要系统权限或ADB调试权限,适用于开发者调试场景[^3][^5]。 #### 方法二:**修改Launcher3源码**(需系统权限) 1. **在`WorkspaceLayoutManager.java`中过滤应用** 修改`addInScreen()`方法,在绑定布局时跳过特定应用: ```java if ("com.example.app".equals(child.getTag())) { child.setVisibility(View.GONE); // 直接隐藏图标 return; } ``` 此方法需重新编译系统镜像,适用于ROM定制开发者[^2]。 #### 方法三:**使用第三方启动器** 1. **Nova Launcher/Action Launcher** - 桌面 → 进入设置 → 应用抽屉 → 隐藏应用 - 支持图形化操作,无需代码或权限,适用于普通用户。 #### 方法四:**ADB命令临时隐藏** ```bash adb shell pm disable-user --user 0 com.example.app ``` 此命令会禁用应用组件,但恢复需重新启用(`adb shell pm enable com.example.app`)[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值