作为Android应用程序的一部分提醒
问题描述:
我正在开发一个关于android studio的项目,它关于药物提醒,我有一些困难,我该如何导入一个提醒。例如,我想让用户将时间设置为他想要吃药的时间,然后在那个时候提醒他。 所以,我搜索了很多,但我没有找到合适的东西。 提醒是我的应用程序的一部分,所以我希望它尽可能简单。 我希望你能理解我。作为Android应用程序的一部分提醒
我试过这段代码,但没有奏效!
final Calendar calender = Calendar.getInstance();
final int hours = calender.get(Calendar.HOUR_OF_DAY);
final int minutes = calender.get(Calendar.MINUTE);
alarm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TimePickerDialog pickTime = new TimePickerDialog(AddMedication.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
alarm.setText(hourOfDay + ":" + minute);
}
}, hours, minutes, true);
}
});
答
您在您的文章表明了该方法时,应用程序在前台运行的所有这通常不是这样的时间是合适的。
你需要使用AlarmManager和广播接收器来完成,这解决办法:
AlarmManager alarmMgr;
PendingIntent alarmIntent;
alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() +
60 * 1000, alarmIntent); //this alarm for example is set for the next minute
在AlarmReceiver
类,你将有onReceive
方法:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Either start an activity or send a notification here
}
}
你可以用'AlarmManager'对于这在Android SDK中提供。 –