问题描述
正在使用华为 P9+ 和 Android 7(牛蛙)操作系统,并在默认启动器中安装了 Nova Launcher。该设备常出现系统自动将启动器从 Nova 更改回华为内置的 Home 启动器情况。尽管用户已手动调整并将其设置为默认,但在某些情况下这种更改会随机恢复。
由于这种不便,希望借助 Tasker 等工具实现自动化,每当启动器被设为除 Nova Launcher 以外其他程序时,便自动切换回 Nova Launcher。
解决方案
注意:使用此方法需确保 Tasker 和 Secure Settings 安装无误,并且设备已正确root。
方案1 – 使用 TASKER 脚本实现自动切换启动器
- 打开 Tasker 并进入任务编辑界面。
- 创建一个任务 并命名为“恢复NovaLauncher”,在此任务中输入执行的脚本内容。
- 在 Nova Launcher 的设置菜单 (Settings > Default App Settings) 中找到“应用程序默认设置”(App Default Settings),将事件触发类型设为 Launch app。
使用以下 Tasker 脚本来实现自动切换功能:
– 步骤1:打开并新建一个任务(文件夹)名为恢复NovaLauncher
– 步骤2:在该任务中添加条件,检查当前启动器是否非 Nova Launcher
tasker
# 检查哪个是默认启动器
if [[ $(adb shell cmd package get-package-info nova_launcher | grep -c default) == 0 ]]; then
# 启动器不是NovaLauncher
set var %launcher_is_not_nova
else
end
fi
– 步骤3:如果判断条件成立(即非 Nova Launcher),则执行切换 Nova Launcher 动作。
tasker
if isset %launcher_is_not_nova; then
# 切换到NovaLauncher
run command adb shell am start -n [packagename/packageclass]
end
fi
– 最后,将此任务设为自动触发方式。可以使用 Secure Settings 自定义规则触发这个任务——每当启动器变化时,运行该任务。
“`tasker
Trigger:
Secure Settings > Default App Changes (Application)
Action:
Run Task > 恢复NovaLauncher
“`
说明:
1. 在实际操作中需要将 [packagename/packageclass]
替换为 Nova Launcher 的实际应用包名和启动类名,可通过执行 adb shell dumpsys window
命令了解。
2. 确保 Tasker 中相关功能激活且配置正确。
方案2 – 使用 TASKER 和 Secure Settings 配合使用
-
打开 Tasker 后,使用已准备好的任务脚本实现启动器自动切换。
- 步骤1: 如上所述构建自定义运行条件和执行动作。
“`tasker
Trigger:
Secure Settings > Default App Changes (Application)
Action:
Run Task > 恢复NovaLauncher
“`
2. 由于部分机型不兼容特定 SuperSu 版本,使用 Secure Settings 可有效避免系统权限问题。
3. 使用设备中的其他第三方工具或脚本管理器(比如 MacroDroid)来监控并执行相应的启动器更换任务也可能是一种替代方案。 - 步骤1: 如上所述构建自定义运行条件和执行动作。
通过此方案可以实现更可靠且灵活的自动切换功能。当设置为其他启动器后,该策略能够帮助用户迅速恢复到 Nova Launcher 环境,提升体验的稳定性和流畅性。