android – 我的屏幕保护程序应用程序中的奇怪的生命周期行为

android – 我的屏幕保护程序应用程序中的奇怪的生命周期行为,第1张

概述我刚刚开发了一个屏幕保护程序应用程序,我在其生命周期中发现了一个奇怪的行为. 我的工作流程是这样的: >启动我的RegisterService,我在其中调用registerReceiver方法来注册BroadcastReceiver,它可以接收ACTION_SCREEN_OFF. 2.在这个BroadcastReceiver的onReceive方法中,我启动一个活动作为屏幕保护程序. 3.在活动中 我刚刚开发了一个屏幕保护程序应用程序,我在其生命周期中发现了一个奇怪的行为.
我的工作流程是这样的:

>启动我的RegisterService,我在其中调用registerReceiver方法来注册broadcastReceiver,它可以接收ACTION_SCREEN_OFF.

2.在这个broadcastReceiver的onReceive方法中,我启动一个活动作为屏幕保护程序.

3.在活动中,我编写Log.i()语句来跟踪其运行情况.

我的问题是:

当屏幕超时或按POWER键时,屏幕关闭,系统将发送ACTION_SCREEN_OFF消息.正如我所料,我的接收器启动屏幕保护程序活动.但是,我发现这个Activity依次根据logcat中的输出调用onCreate(),onResume(),onPause(),onResume().

似乎有些活动出现在我的屏幕保护程序前面并立即完成,因此我的屏幕保护程序调用onPause()然后调用onResume().

任何的想法?这个问题困扰我编程,请帮忙.谢谢!

解决方法 基于对 PowerManagerService.java源代码的简要研究,当关闭屏幕时,系统会启动动画(查看类源的第2183行)来执行此 *** 作.这意味着您的活动将暂停,然后在动画结束后恢复.

我不能100%肯定这一点,因为我没有在我的环境中测试它,但这是我找到的唯一合理的解释.

希望这可以帮助…

总结

以上是内存溢出为你收集整理的android – 我的屏幕保护程序应用程序中的奇怪的生命周期行为全部内容,希望文章能够帮你解决android – 我的屏幕保护程序应用程序中的奇怪的生命周期行为所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存