android 想做一个计时器,但是计时器运行的时候,手机关屏后就停止计时了,点亮屏幕后才继续计时,怎么让它关屏后也继续计时啊
------解决方案--------------------
做成一个后台的服务
------解决方案--------------------
两种方法,第一种,把你的程序定义为系统程序,然后绕过android的省电机制,让他保持后台运行。
第二种是定时点亮屏幕一下,以保持你程序的激活。
其实后台一直跑的程序是android最不提倡的,浪费电,而且没意义。比如lz说的计时工具,你完全可以通过计算开始时的时间,到点亮屏幕唤醒程序的时间之间的差值判断经过了多长时间,一直运行的计时除了耗费用户手机点亮没有任何其他意义
------解决方案--------------------
1. 普遍做法, 在service中控制计时器的开始结束
2. 比较麻烦的做法, 在activity的生命周期中控制计时器. onPause时将计时器的信息存入SharedPreferences, 比如当前系统时间, 计时器已经计的时间等, 在onResume时提取他们, 重新设置计时器的开始时间和显示... 这是由于我的某个应用有特殊需求, 我无耐之举
------解决方案--------------------
还是用 Service 吧,就跟没有界面的 Activity 一样,有自己的生命周期,可以独立后台运行
至于数据传递,推荐用广播 Broadcast……