我開發了一個應用程序,它會在特定時間提醒我。因此我實現了一個啓動通知的IntentService。問題是,通知將在應用程序處於前臺或至少在後臺打開時創建。當我通過任務管理器關閉應用程序時,通知不再運行。IntentService的通知
我使用錯誤的服務嗎?或者我必須創建一些專業?
在intentservice類:
private static final String serviceName = "sebspr.de.deadlines.DeadLineService";
public DeadLineService() {
super(serviceName);
}
@Override
protected void onHandleIntent(Intent intent) {
Context ctx = getApplicationContext();
Intent intent = new Intent(ctx, DeadLineService.class);
PendingIntent pIntent = PendingIntent.getActivity(ctx, 0, intent, 0);
String title = getTitle(list.size());
String text = getText(list);
Notification noti = new Notification.Builder(ctx)
.setContentTitle(title)
.setContentText(text).setSmallIcon(R.mipmap.ic_notfi)
.setContentIntent(pIntent)
.build();
NotificationManager notificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
// hide the notification after its selected
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);
}
INT在MainActivity:
Intent msgIntent = new Intent(this, DeadLineService.class);
startService(msgIntent);
UPDATE
考慮到我的實際問題的解決方案是,去看看在ArlarmManager。 IntentService在這裏是錯誤的路。我發現了一個很好的教程在這裏:AlarmManger Example
而在你看來,如果應用程序通過任務管理器關閉它仍然應該顯示通知或..? – Divers
你在任務管理器中終止應用程序,它會刪除通知,因爲你殺了應用程序。這正是應該發生的事情。 – DeeV
好的。但我希望用戶仍然可以收到通知。我該如何處理? – Bolic