Service.onStartCommand()
メソッドが実行されたときに通知を表示し、Service.onDestroy()
呼び出されたときに通知を非表示にするアプリを作成しました。startService() および stopService() への通常の呼び出しでは正常に機能します。
サービスコード:
@Override
public IBinder onBind(Intent intent)
{
return null;
}
@Override
public void onCreate()
{
super.onCreate();
nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
//Some code here
showNotification();
return START_NOT_STICKY;
}
@Override
public void onDestroy()
{
super.onDestroy();
nm.cancel(R.string.service_started);
}
問題: Android OS() によってサービスが破棄された場合 (onDestroy()
呼び出されなかった場合)、通知が削除されません。Android OS自体によってサービスが破棄されたときに通知を削除するにはどうすればよいですか?