Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Play服务更新导致App强制退出,无障碍服务无法重启 #99

Open
liyafe1997 opened this issue Dec 14, 2022 · 4 comments

Comments

@liyafe1997
Copy link

这个应该不是fcmfix的问题,但是也许fcmfix可以给这个问题做一些workaround.

Google Play Service会在后台自动更新(尤其充电时),更新后,会导致一大票引用了Google API的App处于强制停止状态(比如AccuBattery)。

原生安卓下似乎会自动重启这些App,但是在MIUI下并不会。

一般App还好说,涉及无障碍服务的,这个无障碍似乎没有一个重启的办法,只有重启整个系统才可以恢复使用。

目前不太清楚这是个什么机制,网上也查不到相关信息但还是零星有人反应有类似问题。在原生安卓上测试,更新Google Play服务后确实这些App是会自动重启的,一切恢复如初。有同样问题的朋友欢迎一起讨论。

IMG_20221214_192554

@kooritea
Copy link
Owner

在miui有给自启动的权限吗?
按道理有自启动权限的app被强制停止之后它会自己想办法启动的,原生安卓没有这个权限限制所以就能自动重启。

我在用的安卓11miui eu看起来没这个问题,用到无障碍服务的应用在强制停止之后无障碍服务也会自己恢复。

@liyafe1997
Copy link
Author

在miui有给自启动的权限吗? 按道理有自启动权限的app被强制停止之后它会自己想办法启动的,原生安卓没有这个权限限制所以就能自动重启。

我在用的安卓11miui eu看起来没这个问题,用到无障碍服务的应用在强制停止之后无障碍服务也会自己恢复。

有允许 ,同时加入fcmfix列表里,后台无限制,都没有用。

@liyafe1997
Copy link
Author

在miui有给自启动的权限吗? 按道理有自启动权限的app被强制停止之后它会自己想办法启动的,原生安卓没有这个权限限制所以就能自动重启。

我在用的安卓11miui eu看起来没这个问题,用到无障碍服务的应用在强制停止之后无障碍服务也会自己恢复。

不是每个App都会出现,最好复现的例子就是AccuBattery,更新Google Play Service之后如果通知栏的图标消失并且不会重新出现就说明有这个问题。

@liyafe1997
Copy link
Author

liyafe1997 commented Dec 15, 2022

摸索出了个workaround。
既然它不会自动重启,那就手动重启好了。
重启AccessibilityService的方法:
先用
settings get secure enabled_accessibility_services
得到所有启用的服务

然后通过替换字符串把会受Play Service影响的服务去掉

然后
settings set secure enabled_accessibility_services 刚刚得到的字符串

然后一定要延迟几百ms,再重新set一遍包含受影响的服务的list。

这样就能重启这些AccessibilityServices了

对于一般的App,可以直接用
am broadcast -a android.intent.action.BOOT_COMPLETED -p package.name

来把它重新拉起来

写成一个Tasker,Event为Package Updated(检测到com.google.android.gms这个包更新时触发),完美:
Screenshot_2022-12-15-14-29-38-874_net.dinglisch.android.taskerm.jpg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants