Java 通知显示何时';这是不应该的
我目前正在处理一个通知,该通知必须在用户选择的特定时间显示 但当我运行它时,只在我在时间选择器对话框中询问时间时,才会显示通知,而不是在选定的时间,甚至在选择时间之前 是否有人知道如何更改代码,以便只在选定的时间显示通知Java 通知显示何时';这是不应该的,java,android,android-studio,Java,Android,Android Studio,我目前正在处理一个通知,该通知必须在用户选择的特定时间显示 但当我运行它时,只在我在时间选择器对话框中询问时间时,才会显示通知,而不是在选定的时间,甚至在选择时间之前 是否有人知道如何更改代码,以便只在选定的时间显示通知 showDialog(DIALOG_ID); //this is the dialog that asks for an hour and minute. alarmMethod1(); private void alarmMethod1(){ Ca
showDialog(DIALOG_ID); //this is the dialog that asks for an hour and minute.
alarmMethod1();
private void alarmMethod1(){
Calendar calendari1 = Calendar.getInstance();
calendari1.set(Calendar.HOUR_OF_DAY, hour_x);
calendari1.set(Calendar.MINUTE, minute_x);
calendari1.set(Calendar.SECOND, 00);
Intent myIntent1 = new Intent(Main2Activity.this, NotifyService1.class);
AlarmManager alarmManager1 = (AlarmManager) getSystemService(ALARM_SERVICE);
pendingIntent1 = PendingIntent.getService(Main2Activity.this, 0, myIntent1, 0);
alarmManager1.setRepeating(AlarmManager.RTC_WAKEUP, calendari1.getTimeInMillis(), 24 * 60 * 60 * 1000, pendingIntent1);
}
然后,这是一个课程,目的是:
public class NotifyService1 extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onCreate(){
Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationManager nNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(),Main3Activity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent1, 0);
Notification mNotify = new Notification.Builder(this)
.setContentTitle("Hora d'entrenar!")
.setContentText("Clica per començar entrenament de pit i braços")
.setSmallIcon(R.drawable.logofinal)
.setContentIntent(pIntent)
.setSound(sound)
.build();
nNM.notify(1,mNotify);
}
}
由于Android API 19,为了减少电池消耗,所有警报都是不精确的,这意味着你的警报不会在你想要的时候被触发,但是如果你真的需要这样做,你需要使用setExact,然后自己编写重复警报处理程序,不再有“setExact和repeat”了。请参阅: