这个问题在这里已经有答案了:
android将日期和时间转换为毫秒(10个答案)
5个月前关门了。
我想做一个通知出现在一个特定的日期在一个特定的时间,因为我写在标题。现在我的警报在按下按钮10秒后出现。如果我需要确定一个具体的日期,我也需要这样做吗?我需要将日期转换为毫秒并给出这个参数?这是我的密码:
package com.example.timeman;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
public class ReminderBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "notify")
.setSmallIcon(R.drawable.ic_baseline_close_24)
.setContentTitle("Salamabuliy")
.setContentText("TextNotif")
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
;
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(200, builder.build());
}
}
和onclick方法:
public void onClick(View view) {
Intent intent = new Intent(getActivity(), ReminderBroadcast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity(), 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
long timeAtButtonClick = System.currentTimeMillis();
long tenSecondsInMillis = 1000*10;
alarmManager.set(AlarmManager.RTC, timeAtButtonClick + tenSecondsInMillis, pendingIntent);
//displayNotification();
OpenThis(view);
}
2条答案
按热度按时间2g32fytz1#
一种选择是以毫秒为单位找出从现在到你希望它出现的日期之间的持续时间。例如;
kqqjbcuj2#
使用
Instant#toEpochMilli()
以及Instant#plusSeconds
如下图所示:输出: