android - 显示 "left time"直到闹钟开始

标签 android alarmmanager android-alarms

我想在 Android 中创建一个闹钟 (AlarmManager)。 闹钟必须显示剩余时间,直到结束。

所以用户点击“在晚上 11 点设置闹钟”并在 TextView 中看到“以 xy 小时/分钟/秒为单位的闹钟”。

我怎样才能做到这一点?

谢谢。

最佳答案

这样试试

    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();

关于android - 显示 "left time"直到闹钟开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22223893/

相关文章:

android - 在销毁时从未调用过服务

java - Android 中的 WorkManager Schedule_requested_at time 等于 -1。什么意思?

android - MAVEN 无效 SDK : Platform/API level 16 not available

java - 如何通过代码恢复生命周期状态?

java - Android Java - 警报管理器大部分工作完美,但有时会延迟

android - Android 中的重复闹钟

android - 如何取消警报管理器中的重复任务?

java - 将 RecyclerView 转换为 ViewPager/PagerAdapter

android - 每日闹钟问题,Calendar.DATE和Calendar.DAYS_OF_MONTH的区别

android - 无法取消 PendingIntents - Android