2016-04-12 39 views
1

service1がサービスのステータスをMainActivityにブロードキャストし、MainActivityがブロードキャストの受信後に通知を送信しました。この通知は、取り消し不能通知としてフラグが立てられます。アプリがタスクパネルから削除されたときに通知をキャンセルするには、通知をキャンセルするソリューションのためにCancel notification on remove application from multitask panel で提供されているKillNotificationsServiceでアクティビティをバインドしました。 service1が停止したときにも通知を取り消す必要があります。だから私は置くNotificationManager.cancel()の後にAndroid通知が機能しない

@Override 
public void onDestroy(Intent intent) { 
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    mNotificationManager.cancel(KillNotificationsService.NOTIFICATION_ID); 
} 

(NOTIFICATION IDはKillNotificationsServiceの静的変数です)。

この通知をキャンセルした後、次回service1を開始すると、service1がそのステータスをブロードキャストした後、同じID(NOTIFICATION_ID)の通知は表示されません。通知用に一意のIDとgcを割り当てようとしましたが、動作していないようです。

誰でも私を助けることができる場合。

+0

あなたはあなたがやろうとしているまさに、私はポストを編集した –

+0

が機能していないかを説明する必要があり、英語は私の第一言語ではない、それは明らかであるなら、私に知らせてください。 –

+0

通知を表示するために使用したブロードキャスト受信者を共有します。また、サービスから送信された放送。共有したコードは大丈夫です。 – drulabs

答えて

0

は、あなたが通知を構築するためにアプリケーション・コンテキストを使用して通知

を構築するために放送受信機のコンテキストを使用しているかもしれませ。

Context context=getApplicationContext(); 
NotificationManager mNotificationManager=(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context); 
mNotificationManager.notify(KillNotificationsService.NOTIFICATION_ID, mBuilder.build()); 
+0

このように試しましたが、パフォーマンスは変わりませんでした。 :( –

関連する問題