想写一个小玩具, 很简单的功能:
- 后台常驻执行, 在手机解锁后定时弹出提醒窗口, 类似 popup window
- 定时时间由界面设置
GPT 给出的代码思路是:
- BroadcaReceiver 实现监测屏幕和执行定时弹窗
- 动态注册 receiver 到前台 service 中
碰到的问题:
- receiver 的 onReceive()方法完全没有执行
平台: android14
想写一个小玩具, 很简单的功能:
GPT 给出的代码思路是:
碰到的问题:
平台: android14
1
zerocola May 9, 2025
在 Android 14 上实现这个功能还是比较困难的。
为了防止流氓应用乱弹窗提示,Android 对后台启动前台 Activity 做了很多的限制。 |
3
sentinelK May 9, 2025
后台常驻执行是不行的。
监听亮屏、解锁:可以监听系统广播:Intent.ACTION_SCREEN_ON ,Intent.ACTION_USER_PRESENT 定时可以通过 AlarmManager 实现。 楼主说 receiver 没有执行,是因为在目前的 Android 系统中,service 几乎没办法正常存活。也就是说,除了一些专业场景外(电话、音乐、导航等),系统厂商认为用户与开发者没有合理的理由后台常驻应用服务。 详见: https://developer.android.com/training/monitoring-device-state/doze-standby?hl=zh-cn 如何排查是 receiver 的配置问题还是被系统杀掉: 把监听正常注册到 Activity 中,Activity 前台监听系统广播,然后输出到 logcat 上,看是否正常执行。 |
4
h1298841903 May 9, 2025
后台常驻执行就是一个难点了
|
5
TDSSS May 9, 2025
后台常驻可以研究下“无障碍服务”这个权限,站内大佬写的 gkd 跳过 open ad 就是用无障碍实现的,再加上注册前台服务,做到最大程度的保活
|
6
XuDongJianSama May 9, 2025
开无障碍和自启动和多任务界面加锁,几乎无敌,关机重启都能跳到 app
|
7
XuDongJianSama May 9, 2025
|
8
p1gd0g May 9, 2025
firebase 推送不晓得适合你不
|
10
zerocola May 12, 2025
不同手机厂商策略也是不一样的,还要去适配不同的机型,非常麻烦。
|