Ich habe versucht, eine Alarm-Anwendung zu schreiben, es funktioniert gut, wenn ich immer nach der Zeit des Systems wähle. Aber wenn ich eine andere Zeit vor der Zeit des Systems wähle. es Alarme sofort, kann ich nicht helfen verstehen :(mich pls. Ich TimepickerDialog Zeit wählen verwenden. Hier Timecode wählen. (durch Klick Textview)Warum ist mein AlarmManager nicht korrekt?
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//savePrefs();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
timePicker.setIs24HourView(true);
calendar.set(Calendar.HOUR_OF_DAY, selectedHour);
calendar.set(Calendar.MINUTE, selectedMinute);
calendar.set(Calendar.SECOND, 0);
get_hour = selectedHour;
get_min = selectedMinute;
millis = calendar.getTimeInMillis();
time.setText(selectedHour + " : " + selectedMinute);
}
}, hour, minute, true);
mTimePicker.setTitle("Set Alarm");
onoff_alarm.setChecked(false);
mTimePicker.show();
}
});
und hier ist mein onoff ToggleButton
onoff_alarm.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(onoff_alarm.isChecked()){
my_intent.putExtra("extra", "alarm on");
Toast.makeText(getApplicationContext(), " Alarm On : " + get_hour + " h " + get_min + " m ", Toast.LENGTH_SHORT).show();
pending_intent = PendingIntent.getBroadcast(MainActivity.this, 0, my_intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, millis, AlarmManager.INTERVAL_DAY,pending_intent);
}
else {
my_intent.putExtra("extra","alarm off");
Toast.makeText(getApplicationContext(), "Alarm Off !", Toast.LENGTH_SHORT).show();
alarmManager.cancel(pending_intent);
sendBroadcast(my_intent);
}
}
});
Bitte versuchen Sie das genaue Problem zu beschreiben. – Adnan
Von * Aber wenn ich eine andere Zeit vor der Zeit des Systems * - meinst du * currentSystemTime - *? –
Beispiel mein Problem: jetzt mein Telefon ist 8h10m, ich wähle aus timepickerdialog ist 8h12m (nach 8h10m), funktioniert mein Code genau wenn mein Telefon 8h12m, app Klingeltöne und Pushs Benachrichtigung. Aber wenn ich Zeit wähle ist 8h08 oder jederzeit vor meiner Telefonzeit. App sofort Klingelton und Push-Benachrichtigung ohne auf nächsten Tag warten (ich denke das). Sorry über mein schlechtes Englisch. –