我有一个日期和时间存储在数据库中,我需要在后台持续监控时间和日期并在应用程序中运行一个功能,当时间到了,可以设置日期和时间,我只知道我需要服务来做到这一点,但不仅仅是这样。有人可以告诉我这是否可以实现?如果是的话,请建议我如何进一步继续。谢谢你...
答案 0 :(得分:1)
Android有一个非常适合开发人员的课程:AlarmManager
所以,从数据库中取出日期 时间,用它定义一个警报事件,订阅你的应用程序以获取通知,并等到事件发生时你需要做的工作。
这是如何:
public class MyAlarm extends IntentService {
private NotificationManager myAlarmNotificationManager;
public MyAlarm() {
super("MyAlarm");
}
//this send the notification
private void sendNotification(String message) {
Log.d("MyAlarm", "Preparing to send notification...: " + message);
myAlarmNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, AlarmActivity.class), 0);
NotificationCompat.Builder alamNotificationBuilder = new NotificationCompat.Builder(
this).setContentTitle("Alarm").setSmallIcon(R.drawable.ic_launcher)
.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
.setContentText(message);
alamNotificationBuilder.setContentIntent(contentIntent);
myAlarmNotificationManager.notify(1, alamNotificationBuilder.build());
Log.d("MyAlarm", "Notification sent.");
}
@Override
public void onHandleIntent(Intent intent) {
sendNotification("Do something");
}
}