java - 如何知道闹钟还剩多少时间

标签 java android alarmmanager

在我的应用程序中,我有一个按钮,用于设置运行 AlarmManager 的确定时间,我需要在一个 TextView 中显示警报还剩多少时间,我该怎么做?

注意:我的应用需要在 API 15 中运行。

启动 AlarmManager 的按钮:

// Alarm manager
        Intent intent = new Intent(getActivity().getApplicationContext(), AlarmReceiver.class);
        final PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity().getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        final AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);

        buttonsTimer.get(0).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+42000000, pendingIntent);
            }
        });

最佳答案

使用变量存储开始时间:

long startTime = SystemClock.elapsedRealtime()+42000000;

然后要找到闹钟的剩余时间,只需从开始时间减去当前时间即可:

long timeRemaining= startTime - System.currentTimeMillis();

这将使 timeRemaining 包含闹钟响起之前剩余的时间,以毫秒为单位。然后只需使用 setText() 将其设置为 TextView

关于java - 如何知道闹钟还剩多少时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43833499/

相关文章:

java - 在java中将字符串转换为整数时如何检测溢出

android - 在 Android 上的另一个应用程序中使用导出的服务

java - 有没有办法在桌面应用程序中转换 Android 应用程序?

android - 我如何在android中设置多个闹钟

java - 清除 RAM 停止显示通知

java - 抛出 NoSuchBeanDefinitionException

java - 将 JMenuItem 添加到 JMenuBar 以在菜单中创建切换按钮

java - 从类路径加载的 servlet 上下文的热部署?

android - 开发定制版本的内置 SMS/MMS Android 应用程序

java - 无法显示生日提醒