protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification = new Notification(R.drawable.icon, "Upload Started", System.currentTimeMillis());
notification.setLatestEventInfo(context, "Upload", response, pendingIntent);
nManager.notify((int)System.currentTimeMillis(), notification);
}
Bu işlev birden çok kez çağrılacaktır. Her birinin notification
tıklandığında testActivity'yi başlatmasını istiyorum. Ne yazık ki, yalnızca ilk bildirim testActivity'yi başlatır. Geri kalanına tıklamak, bildirim penceresinin küçülmesine neden olur.
Ekstra bilgi: Fonksiyon displayNotification()
, adı verilen bir sınıftadır UploadManager
. Context
geçirilir UploadManager
gelen activity
bu örnekler. İşlev displayNotification()
, yine bir AsyncTask
.
Düzenleme 1: String yanıtını Intent intent
bir extra
.
protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
intent.putExtra("response", response);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Bu büyük bir fark yaratıyor çünkü bildirim oluşturulduğunda String yanıtının ne olduğunu yansıtmak için ekstra "yanıta" ihtiyacım var. Bunun yerine, PendingIntent.FLAG_UPDATE_CURRENT
ekstra "yanıt" kullanımı, son çağrıdaki String yanıtının ne olduğunu yansıtır displayNotification()
.
Bunun neden dokümantasyonu okuyarak olduğunu biliyorum FLAG_UPDATE_CURRENT
. Ancak, şu anda bunun üstesinden nasıl gelineceğinden emin değilim.