我正在创建一个具有持续通知的应用,该通知会向用户报告统计信息。每隔10分钟,我会更新应用中的统计信息,然后更新通知。问题是,应用程序中的统计信息更新,但在我打开应用程序之前通知不会更新。无论应用程序是打开还是通过服务调用,我都会使用相同的方法来更新通知。
我需要做些什么特别的事情,因为它是通过服务运行的吗?
服务代码(再次,这很好):
Thread.sleep(((10 /* minutes */) * 60 * 1000));
Handler handler = new Handler(getApplicationContext().getMainLooper());
Runnable runnable = new Runnable() {
@Override
public void run() {
OverviewFragment.refresh(getApplicationContext());
}
};
handler.post(runnable);
System.out.println("Updated values through service.");
刷新代码(用于通知):
builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher_white)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher_old))
.setAutoCancel(false)
.setContent(remoteViews)
.setContentIntent(pendingIntent)
.setPriority(Notification.PRIORITY_MAX);
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
builder.setOngoing(true);
notificationManager.notify(notificationId, builder.build());