2012-04-01 3 views
1

私はAndroidアプリケーションで通知を使用しています。私は通知を受け取るたびに、私は未読の通知の数を増やそうとしています。下記のコードのように、notification.numberを使用します。androidのnotification.numberをインクリメント

NotificationManager notificationManager = (NotificationManager) 
getSystemService(NOTIFICATION_SERVICE); 
Notification notification = new Notification(R.drawable.icon, 
"A new notification", System.currentTimeMillis()); 
notification.flags |= Notification.FLAG_AUTO_CANCEL; 
notification.number += 1; 
Intent intent = new Intent(this, NotificationReceiver.class); 

PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0); 
notification.setLatestEventInfo(this, "This is the title", 
"This is the text", activity); 
notificationManager.notify(0, notification); 

ただし、受信した通知の数にかかわらず、カウンタは増分していません。常に1のみを表示します。ここで何が間違っているのか分かりません。誰も私を助けることができる...?

答えて

1

問題は、新しい通知オブジェクトを作成することです。一度作成してフィールドに存在するかどうかを確認してください。

public class main extends Activity { 

Notification notification=null; 


//.... 
if (this.notification == null) 
    this.notification = new Notification(R.drawable.icon, 
     "A new notification", System.currentTimeMillis()); 

this.notification.flags |= Notification.FLAG_AUTO_CANCEL; 
this.notification.number += 1; 
+0

いいえ、あなたのコードでは、どこで通知変数を宣言する必要がありますか? – Kishan

+0

メインクラス(アクティビティ) – Superbiji

+0

私のアプリケーションでは、通知ブロードキャストを受信するBroadcast Receiverクラスの通知用コードを使用しました。あなたが言ったように、私は通知変数をクラスメンバ(今はいくつかの関数のローカルメンバ)にしようとしました。しかし、それはまだ動作しませんでした。 – Kishan

関連する問題