1. 前言
首先讲讲自动化的初衷吧。
我平时是很少用手机的,用手机就是拍照、聊天和看文章。我个人不是很喜欢现在的聊天方式,它不是纯粹放松的个人聊天,还夹杂学习、工作通知,通知是要看,但个人聊天我只希望在我自己想聊的时候聊,不希望我本来打开手机是要做一件正事,但是因为看到聊天弹窗又忍不住先去处理,一处理耽搁10分钟都是少的了。所以我每次都是打开手机才接入网络(这样也更省电),等软件接受完聊天信息并弹窗给我,约15-20s,这个过程我已经投入了我本来要干的正事了,就很好。(这样有个弊端就是工作通知如钉钉发送的消息也会接收缓慢,在需要抢机会、名额时不好,不过我本来就不怎么看手机,就算正常接收消息我也是会没那么及时地看,还是抢不上,哈哈哈)
在经历了无数次手动下拉关wifi,锁屏;亮屏,下拉打开wifi(后面添加安卓小部件直接桌面点wifi小部件也可以开关)后,我真的厌烦了,我感受到本应给我的生活带来便利的手机现在却让我感到不便。就像有没有什么工具能够自动完成这些工作,后面就搜到了Tasker和Macrodroid。记得一篇介绍文章里讲到,一个人在对着手机抄写文本,但文本较长,他每隔半分钟就要点一下屏幕,不然屏幕就灭了,作者说直接设置延长亮屏时间就好了,或者暂时设置永不锁屏。这件事之后,他意识到,平时打开手机的那些没什么意义但必须的操作如打开手机先看看有没有工作通知,或打开手机先去支付宝看看农场等,其实和每隔半分钟就要点一下屏幕的人又有什么不同呢,都是在无意义地重复动作而已,为什么不让工具去做,让工具去适应个人的需求呢?
2. 我的需求
做事情要目标导向,知道自己要的是什么,才能知道自己要做的是什么。
我的手机是RedmiK40,系统是Android 13。调试用的Windows系统。
在找到Tasker分享文章的评论区下,发现小米自带的自动任务也很强大,不过还是没有我想要的部分功能。
小米手机有自动任务,可以实现一定的自动化操作,如打开APP后发生什么动作(一般退出app后则之前发生的动作也取消)。
目前我可以用小米实现打开需要定位的app时自动打开定位,退出则自动退出定位;到时间手机锁屏;睡觉时手机锁屏,打开飞行模式;锁屏后断网;
我还有的需求———
-
还想实现的一打开手机就自动联网,小米目前做不到,倒是有打开某app后自动联网,但是这和我的需求有出入,我是想看到要处理的消息我才打开应用,虽然打开应用后能自动联网也很好,但还是差了一点。【可试试开启应用设为不做手机控,不行】用的Maco搞Wifi,Tasker搞移动网络【后面下了TaskerSettings后可以点击允许Tasker开关wifi然后再实现连接,但每次WiFi状态改变更换都要我点一下允许,每次开屏都要点一下,和我的无形化体验需求相悖。所以WiFi还得借用macrodroid。TaskerSettings要先删去Tasker自带的v1.3.0版本,它对数据、WIFI都作用不了,因为API29限制。得从github上下旧版的1.2.0版】
-
另一个需求是在图书馆、自习室、宿舍手机都是静音,其他地点则取消静音(我能接受为了这个需求实现而打开定位耗点电,毕竟电子产品就是为我的需求服务的)
-
小红书没有flomo的api,微信文章也没办法直接到flomo,试试Tasker的分享到应用看看。【我目前能力有限实现不了,还是用的下拉屏幕点flomo的按钮就好】
3. 实操
ADB命令,如果重启了手机,就要重新执行该命令。
3.1 adb操作:
- 电脑有adb框架(不用打开adb.exe)。下载链接
- 数据线连接手机和电脑。
- 然后手机打开USB调试,USB安全设置开关(小米手机需要这个),这个时候手机会弹出窗口问你要不要接受调试,点接受,理论上便连上了。
- 开始adb调试设备(我的手机)。也可以先电脑打开命令行输入命令
adb devices -l
,看看是不是真的连上了手机。
3.1.1 adb调试Tasker
Tasker有人做了个集成化工具,接下来打开tasker_permissions程序来点获得所有权限即可。经验之谈:最好设置的时候手机上当前页面是Tasker,要是一次不管用,那所有权限手动revoke,重新来一次grant就好了。
3.1.2 adb调试设置macrodroid
传统地在Windows的命令行窗口输入一系列命令。
关于移动网络设置的adb命令:adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
其它可选,Macrodroid的论坛[1]上看的,我也忘了都什么功能了:adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
adb shell pm grant com.arlosoft.macrodroid android.permission.READ_LOGS
adb shell pm grant com.arlosoft.macrodroid android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER
adb shell pm grant com.arlosoft.macrodroid android.permission.DUMP
参考文章:手机上才能打开:https://www.macrodroidlink.com/macrostore?id=12115
经验:如Macrodroid自己所说,不是所有设备的adb设置都能生效的。参见下面“LFO”的表述:我试过先把上面命令的grant都换成revoke再重新grant。如:adb shell pm revoke com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
,这个过程中在Macrodroid应用上是可以看到警告消失和出现的,但是测试就是打不开移动网络,也切换不了其状态。
4. 其它adb知识
4.1 adb查询设备
在发出adb命令之前,了解哪些设备已经连接到adb服务器会很有帮助。可以使用以下devices命令以列表形式查看已连接设备:adb devices -l
。
这也可以作为验证adb服务器是否在运行或者你的设备和adb服务器是否连接上。
4.2 终止adb服务器
某些情况下,比如adb不响应命令,就需要终止adb服务器进程,重启试试看。
终止adb服务器命令adb killserver
。然后重新通过其它adb命令重启服务器即可。
5. 其它杂谈
-
原来之前从taskernet下下来import不了是因为无谷歌账号的原因,不是什么文件后缀prj要改成prm的原因,本来就是prj。
-
!!记得Takser备份,这样之前的配置文件能直接用!
-
因为Tasker对WiFi或移动网络的控制都需要定位授权,我之前理解错了Tasker的定位的设置。现重新解读:
选定某一个位置如宿舍,在轻松定位的文档中:- 可以选中网络和/或GPS,至少选择一个,不同的选择对应着不同的耗电方式:
- 只选网络是最省电的但精度最差;两个同时选精度不错,耗电也不算很大;选GPS是最耗电的。
应用例子: - 只选中了网络,即位置:网络,如在学校时检测网络,这就是你的配置文件;
- 状态:靠近WiFi,配置文件选择状态,再选“靠近WiFi”,这个是和定位有关的,因为检测WiFi和移动网络都需要确定你和信号源的距离,过远则连接不上。
同时GPS超时秒数越小则扫描越密,耗电越大。
-
Tasker一些很好的连接思路设置
-
Macrodroid较Tasker的界面优势
Macrodroid较Tasker的界面优势
后续有时间再玩玩如何去掉手机软件的开屏广告(思路一:Tasker和AutoInput联合,让AutoInput做手势动作;思路二:Google play store下载国际版的软件)