2013-11-21 135 views
0

我有一個通知服務,其中在服務的啓動方法中創建一個通知..意圖是針對actvityA ...我不清楚活動和服務綁定過程..在activityA我想一種方法執行,檢查通知和該方法的成功執行..通知被取消..我有紅色的許多職位,說通知控制不可能..Plz幫助一些檢查通知接收..提前感謝。 。通知服務

nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
         Log.d("nm", "nm created"); 
         Intent in=new Intent(UpdateService.this,ActivityA.class); 
TaskStackBuilder.create(UpdateService.this); 

         stackBuilder.addParentStack(ActivityA.class); 

         stackBuilder.addNextIntent(in); 

         PendingIntent pi =stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT); 
         notification =new NotificationCompat.Builder(UpdateService.this) 
           .setSmallIcon(R.drawable.ic_launcher) 
           .setContentTitle("Some Update") 
           .setContentText("Question"); 
         notification.setContentIntent(pi); 
         notification.setAutoCancel(true); 

         int id=100; 
         int numMessages = 0; 
         notification.setContentText("You have unread messages..") 
          .setNumber(++numMessages); 
         nm.notify(id, notification.build()); 
         stopSelf(); 

。我對GOT到mention..there是dialog..that appears..On積極button..notification的新聞MST被清除......在negative..dialog將被解僱。 .nd通知將保留。 。

回答

1

您必須保留通知ID的記錄。然後在您的方法中,使用該ID取消通知。

有關如何取消通知,這裏的link

添加該代碼,您可以設置通知。

SharedPreferences prefs = this.getSharedPreferences(
     "com.example.app", Context.MODE_PRIVATE); 
prefs.edit().putInt("ID", id).commit(); 

將此添加到您按下YES時調用的onClick偵聽器。

SharedPreferences prefs = this.getSharedPreferences(
      "com.example.app", Context.MODE_PRIVATE); 
int notificationId = prefs.getInt("ID"); 

而現在使用這個notificationId,通知。

+0

是的,可以完成..但我的通知ID是在服務...而我想取消通知後,它被接受...我不得不提到..有一個對話..出現..在按下正面按鈕..通知mst得到清除...在負面..dialog將被解僱..並且通知將保持.. – AndroidMech

+0

將通知ID存儲在SharedPreferences中,以便您可以在您的活動中訪問它(對話)。 – Tejas

+0

我會試一試..感謝很多.. – AndroidMech