2012-12-22 115 views
1

只是一個簡單的問題:如何使單線通知在短時間後消失。狀態欄上顯示單行通知?

就像WhatsApp的公司:

Whatsapp notification

我當前的通知代碼仍然是很基本的:

Intent intent = new Intent("com.example.MyChat"); 
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0); 
Notification notification = new Notification.Builder(context) 
     .setContentTitle("New message from " + name) 
     .setContentText(message) 
     .setSmallIcon(R.drawable.ic_launcher).setContentIntent(pIntent) 
     .getNotification(); 

notification.defaults |= Notification.DEFAULT_SOUND; 

NotificationManager notificationManager = (NotificationManager) context 
     .getSystemService(context.NOTIFICATION_SERVICE); 
notificationManager.notify(0, notification); 

感謝

回答

1

如果您設置了Notification的tickerText屬性,則這稱爲「ticker」,狀態欄會短暫顯示。

請參閱setTickerText

+0

謝謝,很難在Google中搜索此內容,因爲我不知道正確的字詞 – hrsetyono

1

您可以在很短的時間後,用AlarmManager調用,說5秒。

此外,您可以使用一種服務,該服務在第一次出現通知時啓動,並且可能會在一段時間後取消通知。

在這裏你可以使用取消通知,

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManager.cancel(NOTFICATION_ID); 

看一看這個post,它可能會幫助你。

+0

有沒有內置的'Notifiation'方法呢? – hrsetyono

+1

不,沒有內建的方法可以在一段時間後取消通知。或者您必須單擊它,或者您可以在啓動應用程序時調用服務,並在一段時間後取消它。 –

+0

我沒有取消通知,我只是想在狀態欄中顯示文字。有沒有辦法? – hrsetyono