在使用位置信息的应用程序中,例如 Google 地图,GPS功能必须启用。
不过,由于GPS持续在后台运行,因此会消耗大量电池电量,因此应尽可能关闭该功能,以提高电池寿命。
然而,手动打开/关闭每个应用程序的 GPS 可能会很痛苦。
因此,在本文中,我们将介绍如何自动禁用Android除特定应用程序之外的GPS功能。
具体来说,适用于 Android 的自动化应用程序“宏机器人”设置宏(任务自动化)在特定条件下运行。
照片由皮克斯
当您在使用位置信息的应用程序上打开 GPS 时,状态栏中会显示一个图标,您可以在快速设置中打开或关闭 GPS。

Google 地图屏幕示例。
不过,即使关闭使用位置信息的应用程序,GPS功能也不会自动关闭,所以如果每次都必须手动打开和关闭以节省电池电量,那就很麻烦了。
因此,这一次,我们将配置“MacroDroid”来检测“启动使用位置信息的应用程序”并自动切换Android的GPS功能。
在本文中,我们将使用一个设置示例来在 Google 地图启动或关闭时打开和关闭 Android 的 GPS。
第 1 步:获取自动化应用程序
首先,在 Android 上安装自动化应用程序“MacroDroid”。
有关此应用程序的基本信息和如何使用,请参阅相关文章[MacroDroid – 通过在 Android 上创建宏来自动化任务!一款设计炫酷且易于使用的免费应用程序] 进行了解释。
此外,这次我们将进行一项与Android系统核心相关的高级设置,称为“更改位置信息模式”,因此我们还需要满足“ADB被黑客攻击”的条件。
具体来说,在电脑上准备好adb命令的环境,然后在Android上运行以下命令。
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
内容比较复杂,详细请参考相关文章【免root如何解锁MacroDroid的高级设置!使用 ADB hack 增强 Android 自动化] 进行了解释。
上述准备工作完成后,启动MacroDroid并继续“添加宏”。

为了总结宏创建的一般流程,这次我们将设置以下两种类型的宏并同时运行它们。
[宏①]
- 触发器:应用程序启动/退出(打开 Google 地图时)
- 操作:定位模式设置(打开GPS)
- 条件:任意(无需设置即可)
[宏②]
- 触发器:应用程序启动/退出(当 Google 地图关闭时)
- 操作:定位模式设置(关闭GPS)
- 条件:任意(无需设置即可)
现在我们来设置一下。
步骤2:设置触发[宏1]
首先,为第一个宏设置触发器(当 Google 地图打开时打开 GPS)。
从触发候选列表中应用」→「启动/终止应用程序”并选择

从“应用程序启动时”中选择目标应用程序。

这次我以谷歌地图为例。
此时,仅第一次需要“辅助功能设置”,因此请按照屏幕上的说明进行操作,并在“辅助功能”设置中选择 MacroDroid。

启用权限。

“当应用程序启动时:Google 地图”的触发设置现已完成。

向右滑动屏幕即可进入“操作”屏幕。
步骤3:设定动作[宏1]
接下来,设置第一个宏的操作(当 Google 地图打开时打开 GPS)。
从候选行动名单来看,地点」→「更改定位模式”然后继续。

勾选“高精度”。

“打开 GPS”的操作设置现已完成。

向右滑动屏幕即可进入“条件”屏幕。
第4步:设置条件(可选)[宏1]
然后,为第一个宏设置条件(当 Google 地图打开时打开 GPS)。
“条件”是可选的,因此无需设置即可完成宏创建,但如果要添加“触发器”以外的前提条件,则可以设置它。
例如,如果您想设置“充电时不要打开/关闭 GPS”,请选择“充电时不要打开/关闭 GPS”。电池/电源」→「电源连接”并选择

如果勾选“电源未连接”就OK了。

由于这是一个可选设置,因此我们在此示例中没有设置任何“条件”。

点击右下角的“✓检查”图标。
第5步:确定宏名称并完成! [宏1]
最后,确定宏①的名称。稍后您将创建另一个宏,因此最好为其指定一个易于区分的名称(您可以稍后更改该名称)。

您可以通过单击应用程序顶部屏幕左上方的“宏”来检查创建的宏,还可以编辑内容并启用/禁用设置。

步骤 6:使用相同的过程创建宏 2
上述步骤是创建宏 1(打开 Google 地图时打开 GPS)的步骤,但我们将使用完全相同的步骤来创建宏 2(关闭 Google 地图时关闭 GPS),以执行相反的操作。
- 扳机:”启动/终止应用程序“关闭应用程序时:Google 地图”
- 行动:”位置信息模式“关闭 GPS”
- 条件:无设置

您现在已经创建了两个配对的宏。

尝试一下
运行验证:用两个宏运行
两个宏完成后,让我们看看它们是否真的有效。
例如,启用以下宏后,
[宏①]
- 触发器:应用程序启动/退出(打开 Google 地图时)
- 操作:定位模式设置(打开GPS)
- 条件:任意(无需设置即可)
[宏②]
- 触发器:应用程序启动/退出(当 Google 地图关闭时)
- 操作:定位模式设置(关闭GPS)
- 条件:任意(无需设置即可)
首先,打开 Google 地图并检查 GPS 是否已打开。

当我关闭 Google 地图时,GPS 自动关闭!

之后,当您在关闭 GPS 的情况下重新打开 Google 地图时,会出现一个弹出窗口,询问“您要打开它吗?”然后你就可以打开它了。

正如您在上面看到的,我创建的两个宏都工作正常。
运行验证:仅用一个宏运行
我们以 Google 地图为例,最初的规范是当你在关闭 GPS 的情况下启动应用程序时,会弹出一个窗口询问“是否要启用它?”

无论是否设置宏1(谷歌地图打开时打开GPS)都会出现此弹窗,所以实际操作时,宏2(谷歌地图关闭时关闭GPS)就足够了。

但是,尚未验证这是否对于使用 Google 地图以外的位置信息的所有应用程序都是通用的,因此如有必要,请创建宏①以自动打开/关闭 GPS。
如果无法正常工作
正如一开始提到的,我们这次要设置的“位置信息模式”需要“root或ADB hacked”作为条件,所以请再次检查adb命令是否正在执行。
以下是“操作:移动数据”的示例,但如果不满足“root 或 ADB hacked”条件,则会出现错误消息。

补充:
可以使用 MacroDroid 设置的其他宏汇总
除了本文介绍的宏之外,MacroDroid 还有无数有用的设置。
例如,您可以使用家庭或办公室周围是否存在 GPS 检测作为触发器,自动执行 Wi-Fi 功能的开/关切换设置(通过创建两种类型的宏并同时运行它们)。
[宏①]
- 触发:位置触发(当您进入家附近时)
- 操作:Wi-Fi 设置(启用 Wi-Fi)
- 条件:任意(无需设置即可)
[宏②]
- 触发:位置触发(当您离开居住区域时)
- 操作:Wi-Fi 设置(禁用 Wi-Fi)
- 条件:任意(无需设置即可)
此外,为了防止蓝牙设备(例如耳机/智能手表)丢失,您可以使用下面的宏来检测蓝牙断开并显示通知。
- 触发:蓝牙事件(检测到设备断开连接时)
- 操作:显示通知(警告设备断开连接)
- 条件:任意(无需设置即可)
另外,相关文章中还有很多其他的宏设置示例[MacroDroid 推荐宏合集!通过操作/触发器自动执行日常任务] 进行了解释。
Android 上节省电量的其他方法
除了本文介绍的 GPS 切换之外,还有多种设置可以提高 Android 电池寿命。
例如,您可以通过更改 Android 的“开发人员选项”中的动画设置来延长电池寿命。

如果您进入“设置”→“开发者选项”,您将在底部找到动画设置。
如果抑制动画,操作的乐趣会相应降低,因此请尝试在调整平衡的同时进行设置。
有关如何节省电池的信息,请参阅相关文章[Android延长电池寿命的方法总结!防止智能手机电池老化] 进行了解释。
〆:让我们自动关闭 GPS!
多于,如何自动禁用Android的GPS!通过打开和关闭特定应用程序的位置信息来节省电池这就是解释。
如果你经常操作GPS开关,这次介绍的MacroDroid宏将会非常有用。
请尝试一下。
