@Override
public void run() {
//Create thread that can alter the UI
AlarmPage.this.runOnUiThread(new Runnable() {
public void run() {
cal = Calendar.getInstance();
//See if current time matches set alarm time
if((cal.get(Calendar.HOUR_OF_DAY) == alarmTime.getCurrentHour())
&& (cal.get(Calendar.MINUTE) == alarmTime.getCurrentMinute())){
//If the sound is playing, stop it and rewind
if(sound.isPlaying()){
ShowDialog();
alarmTimer.cancel();
alarmTask.cancel();
alarmTask = new PlaySoundTask();
alarmTimer = new Timer();
alarmTimer.schedule(alarmTask, sound.getDuration(), sound.getDuration());
}
sound.start();
}
}
});
}
public void ShowDialog() {
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("REMINDER!");
alertDialog.setMessage("Turn off alarm by pressing off");
alertDialog.setNegativeButton("Off", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "OFF", Toast.LENGTH_SHORT);
}
});
alertDialog.show();
}
Я делаю простой будильник, уведомляющий пользователя. Я хочу создать окно предупреждения, которое дает пользователю возможность отключить будильник, когда он выключится. Я смог сделать окно предупреждения, но он появляется только в приложении, не за пределами приложения. Я понимаю, что приложение должно быть в фоновом режиме. Если мне нужно показать больше кода или быть более конкретным, просто спросите пожалуйста.Как ящик AlertDialog появляется за пределами приложения?
Вы должны использовать уведомление, чтобы предупредить пользователя, когда приложение не находится на переднем плане. – Manish
Возможный дубликат: http://stackoverflow.com/questions/11081380/how-to-create-alertdialog-outside-of-an-application – shujj