如何知道闹钟还剩多少时间
How to know how much time is left for the Alarm
在我的应用程序中,我有一个按钮可以将确定的时间设置为 运行 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
包含闹钟响起之前剩余的时间,以毫秒为单位。然后只需将其设置为 TextView
和 setText()
.
在我的应用程序中,我有一个按钮可以将确定的时间设置为 运行 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
包含闹钟响起之前剩余的时间,以毫秒为单位。然后只需将其设置为 TextView
和 setText()
.