如何根据存储在DB中的值在android中触发本地通知?

时间:2017-02-25 16:57:45

标签: java android sqlite

我是一名刚接触Android编程的学生。我每天都在编程更新自己,现在我正在做一个小型的演示项目。 我想向用户显示在DB中保存的特定日期和时间的本地通知。我已经搜索了很多教程,但我不知道该怎么做,因为我是新手。

我使用过Sqlite Db并成功保存了所有数据,如日期和时间。 据我了解,

从db获取值(日期和时间)  与今天的日期和时间比较。如果两者都等于触发通知。

但是如何在DB中检查指定时间的每一秒?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您需要创建一个后台服务,从数据库中获取日期和时间条目以及设备的当前日期和时间,然后匹配它们。 您可以使用此代码,也可以搜索AsyncTask。

public class MatchTime extends Service {

Handler handler = new Handler();

@Override
public IBinder onBind(Intent intent) {
    return null;
}

public void onCreate() {
    super.onCreate();
}

public int onStartCommand(Intent intent, int flags, int startId) {
    handler.removeCallbacks(sendUpdates);
    handler.postDelayed(sendUpdates, 1000); // 1 second
    return START_STICKY;
}

private Runnable sendUpdates = new Runnable() {
    public void run() {
        matchTime();
        handler.postDelayed(this, 50000); // 5 second notifier
    }
};

public void matchTime() {

}