一个支持用adb设置 系统 闹钟的apk
github图片会挂掉,所以点开链接看吧:
小米:https://www.wenjie.store/blog/img/%E8%AE%BE%E7%BD%AE%E9%97%B9%E9%92%9F_%E5%B0%8F%E7%B1%B3_1626953593249.gif
华为:https://www.wenjie.store/blog/img/%E9%97%B9%E9%92%9F%E8%AE%BE%E7%BD%AE_%E5%8D%8E%E4%B8%BA.gif
可以看到小米的屏幕会闪,而华为P30不会,这是系统决定的,我也控制不了
adb shell am start-foreground-service -n wenjie.star.system_alarm_clock_by_adb/.AlarmClockService -a "set_alarm_clock" --es msg \"测试闹钟1\" --ei hour 20 --ei min 20
Error: Not found; no service started.
adb shell am start wenjie.star.system_alarm_clock_by_adb/.MainActivity
如果安装apk后直接执行上面的设置闹钟命令,那是必定无效的(可能没有报错),为了适配各种手机版本+权限,你需要看完下面的设置教程
对于不同版本的手机,各有各的适配方案,请有耐心的看完,当初我也废了不少时间实验
比如下面这个权限的手机:
我们需要执行命令:adb shell appops set wenjie.star.system_alarm_clock_by_adb [手机厂商权限key] allow
你可能很疑惑[手机厂商权限key]是个啥,没关系,下面就会讲到
要找出[手机厂商权限key],我们需要如下操作
adb shell appops set wenjie.star.system_alarm_clock_by_adb SYSTEM_ALERT_WINDOW allow
,没有报错就是成功adb shell appops get wenjie.star.system_alarm_clock_by_adb
,下简称get
命令
get
命令,会发现10021
这个权限不见了:
10021
adb shell appops set wenjie.star.system_alarm_clock_by_adb 10021 allow
,下简称set
命令
如果你不确定到底是什么数字,那么在安装完应用后,写一个for脚本遍历数字去set就行了
这种手机通过service调用startActivity是也是会失败的(没有报错),但是对应权限的权限不同,比如我手上的华为P30 Pro就是
但这种手机设置权限非常简单,仅仅需要在安装apk后执行如下命令即可:
adb shell appops set wenjie.star.system_alarm_clock_by_adb SYSTEM_ALERT_WINDOW allow
之后再执行闹钟的命令就能成功了
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。