问题描述
|
我的代码包括一个Preview类,该类扩展了SurfaceView并实现了SurfaceHolder.Callback。用户在启动活动中配置唤醒时间后,将设置警报。然后,用户使用后退键退出应用程序并返回设备主屏幕。收到警报后,将调用一个意图并开始创建SurfaceView的活动。如果我将警报设置为10分钟,则设备屏幕超时为15分钟,则所有操作均正确进行。但是,如果我将警报设置为20分钟且屏幕超时为10分钟,则会收到警报,然后创建SurfaceView类,并设置Holder和Holder.Callback,但永远不会达到回调项surfaceCreated。我在代码中插入了调用,以将跟踪信息写入文件,以便我知道哪里停止了运行。
我是否错过了应用程序在屏幕后唤醒的某些暗示?
解决方法
我认为您遇到了类似此处的问题:启用设备的密码屏幕时游戏崩溃
从睡眠状态返回时,事件顺序在SurfaceView实例中并不常见,因此您必须编写代码来处理这种情况。