可能這是一個幼稚的問題,但我很開心請不要認爲是錯誤的問題。,我正在尋找很多,以下
http://developer.android.com/guide/topics/ui/notifiers/notifications.html教程。也谷歌解決我的問題,但我找不到。在單獨的視圖中顯示所有待處理的通知
這是我的任務。
我在主要活動中有一個EditText和一個按鈕,當我點擊按鈕時生成通知,當我打開通知另一個活動打開時,顯示Editext數據,我通過EditText輸入了主要活動。
我的問題是....
我想顯示在一個通知窗口掛起通知的數量爲http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating 但我便無法理解這一點 - >開始的循環處理數據,然後通知用戶...... 我該如何實現這一點。我如何處理數據以獲得待處理計數。請記住,當沒有通知時,這個計數會減少?
當單擊通知時,我想要在單獨的活動中獲取所有通知,就像收件箱中的郵件一樣。
例如在我的主要活動中,我點擊了10次按鈕,所以實際上10個通知將在count = 10的單個通知窗口中生成,但它顯示count = 1?當我打開通知時,它只會顯示另一項活動中的最新通知內容,如何顯示剩餘的9項活動?
下面我主要業務....
Button btn;
EditText edtText;
NotificationCompat.Builder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button);
edtText = (EditText) findViewById(R.id.editText);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
CreteNotification(Calendar.getInstance().getTimeInMillis(), edtText.getText().toString());
}
});
}
protected void CreteNotification(long when, String data) {
String notificationContent ="Notification Content Click Here to go more details";
String notificationTitle ="This is Notification";
int number = 1;
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
int smalIcon =R.drawable.ic_launcher;
String notificationData = data;
Intent intent = new Intent(getApplicationContext(), MyNotificationClass.class);
intent.putExtra("Message", notificationData);
intent.putExtra("Time", Integer.toString((int) when));
intent.setData(Uri.parse("content://"+when));
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationManager notificationManager =(NotificationManager) getApplicationContext().getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext())
.setWhen(when)
.setContentText(notificationContent)
.setContentTitle(notificationTitle)
.setSmallIcon(smalIcon)
.setAutoCancel(true)
.setTicker(notificationTitle)
.setLargeIcon(largeIcon)
.setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_VIBRATE| Notification.DEFAULT_SOUND)
.setContentIntent(pendingIntent);
// Start of a loop that processes data and then notifies the user
// how to loop??????????????????
notificationBuilder.setNumber(++number);
Notification notification = notificationBuilder.getNotification();
notificationManager.notify(1, notification);
}
代碼,我要顯示所有通知?????
HashMap<String, String> inboxMsg;
TextView notiTextView;
Button btn;
int Id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_notification_class);
inboxMsg = new HashMap<String, String>();
Id = 0;
notiTextView = (TextView) findViewById(R.id.textView1);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@SuppressWarnings("rawtypes")
@Override
public void onClick(View v) {
Set<String> keys = inboxMsg.keySet();
Iterator keyItra = keys.iterator();
while (keyItra.hasNext()) {
String k = (String) keyItra.next();
String Message = inboxMsg.get(k);
notiTextView.setText(Message);
}
}
});
if(savedInstanceState == null)
{
String Mesage = getIntent().getExtras().getString("Message");
String Time = getIntent().getExtras().getString("Time");
inboxMsg.put(Integer.toString(++Id), "Message is " + Mesage + " Time " + Time + "\n");
}
}
問題在哪裏好心地將我重定向到正確的路徑,也好心地指導我如何實現這一點。
Waqas我把declred作爲一個類的數據成員,比它的工作正常,但後來當我再次點擊按鈕比其設置爲1再次? 關於第二個答案我不想要10個單獨的通知,只需要1個通知與計數= 10,並且當我打開通知時,所有10個通知應該在一個sepate活動中可用? 就像GOSMS Pro或任何其他短信應用程序,它顯示通知欄中的總郵件數,如何做到這一點 – 2013-02-23 14:37:38
你是什麼意思,工作正常,但後來它沒有?如果PendingIntent包含相同的數據,操作,標誌等,則不能這樣做。它只是被替換。 – Waqas 2013-02-23 14:41:04
所以告訴我如何實現這一點,只需10個通知很容易,但如何處理數據以檢索所有PendingIntents?有沒有辦法做? – 2013-02-23 14:48:26