我正在做一个个人组织者。从日历中,用户可以选择日期,然后可以指定一个特定小时的日期。在这个日期和时间,应用程序应该显示另一个活动,即通知。用户一天只能做一个笔记。所以每个音符的pk是YYYYMMDD。
所以,我想知道我所做的是对还是错。我有一项以应用程序启动的服务。该onStartCommand
服务检查当前日期数据库中是否有注释,如果有,他调用活动通知。我有一个可运行的线程,每分钟循环一次,它会更新服务的日期,因为日期onStartCommand
是静态的。如果 runnable 获得的日期等于onStartCommand
's date 然后继续循环,否则我再次启动服务:
Intent myIntent = new Intent(Receiver.this, NotificaSuoneria.class);
startActivity(myIntent);
这样我没有任何麻烦,但我想知道可运行线程是否可以被android杀死,因为如果被杀死我无法检查其他日子的警报。
而且,当我每次更新日期重新启动服务时,旧的可运行线程会被杀死还是会有很多线程?
PS我不使用AlarmManager
for安排警报。如果 datenow 与警报有一些联系,我会计算剩下的时间并在这段时间内睡觉,然后我将启动通知活动。对不起我糟糕的英语。