- 需求:
- 需要在activityA中开始计时,然后在activityB和activityC中操作,并且需要在Activity A、B、C中都要看到计时器
- 效果如下:
*
- 思路
1、创建service,并在service初始化的时候开始计时
2、在开始计时以后,每秒发送一次广播,把秒数广播出去
3、在需要显示的页面注册广播,拿到广播中的数据并展示出来
最主要的一个类就是TimerService
public class TimerService extends Service {
private Timer timer = null;
private TimerTask timerTask = null;
private int i = 0;
@Override
public void onCreate() {
super.onCreate();
//在创建service的时候开始计时
if(timer==null&&timerTask==null){
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
i++;
//没执行一次就发送一次广播
Intent intent = new Intent();
intent.putExtra("time",i);

本文介绍了一种在多个Activity间共享计时器的方法,通过创建Service进行计时,使用广播将时间更新发送到所有注册的Activity,实现跨界面同步显示计时效果。
最低0.47元/天 解锁文章
1197

被折叠的 条评论
为什么被折叠?



