Android官方开发文档Training系列课程中文版:通知用户之构建通知
原文地址:http://android.xsoftlab.net/training/notify-user/index.html
引言
通知用于在有事件發(fā)生時(shí),將事情以更便捷的方式展示給用戶。用戶可以在他們方便的時(shí)候直接與通知交互。
Notifications design guide課程講述了如何設(shè)計(jì)有效的通知以及何時(shí)去使用它們。這節(jié)課將會(huì)學(xué)習(xí)如何實(shí)現(xiàn)通用的通知設(shè)計(jì)。
構(gòu)建通知
這節(jié)課的實(shí)現(xiàn)主要基于NotificationCompat.Builder類,NotificationCompat.Builder類屬于支持庫。開發(fā)者應(yīng)該使用NotificationCompat及其子類,特別是NotificationCompat.Builder,以便支持更寬泛的平臺(tái)。
創(chuàng)建通知構(gòu)建器
當(dāng)創(chuàng)建通知時(shí),需要指定通知的UI內(nèi)容以及它的點(diǎn)擊行為。一個(gè)Builder對(duì)象至少要包含以下條件:
- 一個(gè)小圖標(biāo),通過setSmallIcon()方法設(shè)置。
- 通知標(biāo)題,通過setContentTitle()方法設(shè)置。
- 詳細(xì)文本,通過setContentText()方法設(shè)置。
比如:
NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(this).setSmallIcon(R.drawable.notification_icon).setContentTitle("My notification").setContentText("Hello World!");定義通知的行為
創(chuàng)建通知時(shí),應(yīng)當(dāng)至少為通知添加一個(gè)行為。這個(gè)行為會(huì)將用戶帶到Activity中,這個(gè)Activity中詳細(xì)的展示了發(fā)生了什么事情,或者可以使用戶采取進(jìn)一步的行動(dòng)。在通知內(nèi)部,行為由PendingIntent所包含的Intent指定,它可以用來啟動(dòng)Activity.
如何構(gòu)造PendingIntent取決于要啟動(dòng)的Activity的類型。當(dāng)由通知啟動(dòng)Activity時(shí),開發(fā)者必須考慮用戶所期待的導(dǎo)航體驗(yàn)。在下面的代碼中,點(diǎn)擊通知會(huì)啟動(dòng)一個(gè)新的Activity,這個(gè)Activity繼承了通知所產(chǎn)生的行為習(xí)慣。在這種情況下不需要?jiǎng)?chuàng)建人為的回退棧。
Intent resultIntent = new Intent(this, ResultActivity.class); ... // Because clicking the notification opens a new ("special") activity, there's // no need to create an artificial back stack. PendingIntent resultPendingIntent =PendingIntent.getActivity(this,0,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT );設(shè)置通知的點(diǎn)擊行為
為了使PendingIntent與手勢(shì)產(chǎn)生關(guān)聯(lián),需要調(diào)用NotificationCompat.Builder的對(duì)應(yīng)方法。比如要啟動(dòng)一個(gè)Activity,則調(diào)用setContentIntent()方法添加PendingIntent即可。
發(fā)布通知
發(fā)布通知需要執(zhí)行以下步驟:
- 獲得NotificationManager的實(shí)例。
- 使用notify()方法發(fā)布通知。在調(diào)用notify()方法時(shí)需要指定通知的ID,這個(gè)ID用于通知的稍后更新。
- 調(diào)用build()方法,它會(huì)返回一個(gè)Notification對(duì)象。
總結(jié)
以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:通知用户之构建通知的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysqlsla的使用
- 下一篇: 史上最全最强SpringMVC详细示例实