我正在构建一个Android应用程序,我需要每隔三小时从服务器获取一些通知数据(文本),并使用NotificationManager将其显示为通知。我看了 here 和 here ,但他们似乎对我很困惑。
我怎样才能完成这项工作?
答案 0 :(得分:4)
使用具有待定意图的AlarmManager启动服务,从服务中对服务器进行API调用,创建通知,然后停止服务。
/**
* Set up recurring location updates using AlarmManager
*/
public void setUpAlarm(Application context) {
Intent intent = new Intent(context, MyService.class);
PendingIntent pending_intent = PendingIntent.getService(context, 0, intent, 0);
AlarmManager alarm_mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm_mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(), YOUR_INTERVAL, pending_intent);
}
上述代码将设置一个待处理的意图,即在您使用YOUR_INTERVAL变量设置的任何时间间隔内启动服务。从这里开始,只需创建“MyService”类即可进行API调用,并在收到服务器的响应后构建通知。
答案 1 :(得分:0)
您将要为此创建后台服务,这是一个很好的教程:
http://developer.android.com/training/run-background-service/create-service.html