显示“剩余时间”直到警报开始 [英] Show "left time" until the alarm start

查看:94
本文介绍了显示“剩余时间”直到警报开始的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Android中创建警报(AlarmManager)。
警报必须显示到完成为止的剩余时间。

I whould like to create a alarm (AlarmManager) in Android. The alarm must show the left time until its finish.

因此,用户单击在晚上11点设置警报,然后在TextView中看到警报xy小时/分钟/秒。

So the user click on "set alarm at 11 pm" and see in a TextView "alarm in xy hours/minuts/seconds".

我该如何实现?

谢谢。

推荐答案

尝试一下

    Calendar calendar = Calendar.getInstance();
    Long preTime = calendar.getTimeInMillis();

    // set alarm after 5 minute

    calendar.add(Calendar.MINUTE, 5);
    Long postTime = calendar.getTimeInMillis();
    Long delay = postTime - preTime;

    AlarmManager manager = (AlarmManager)     getSystemService(Context.ALARM_SERVICE);
    manager.set(AlarmManager.RTC_WAKEUP, postTime, null);

    CountDownTimer timer = new CountDownTimer(delay, 1) {

        @Override
        public void onTick(long millisUntilFinished) {
            final int seconds = (int) (millisUntilFinished / 1000) % 60;
            final int minutes = (int) ((millisUntilFinished / (1000 * 60)) % 60);

            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    text.setText("minute " + minutes + " Second " + seconds);
                }
            });
        }

        @Override
        public void onFinish() {
            // TODO Auto-generated method stub

        }
    };
    timer.start();

这篇关于显示“剩余时间”直到警报开始的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆