Android 中通知的基本使用

通知--一般當(dāng)我在手記下拉的時(shí)候會(huì)發(fā)現(xiàn)一排信息提示(天氣情況惠爽,qq消息癌蓖,UC推薦,58推薦等等)婚肆,這些就是通知租副。


通知分為三種:普通廣播 ?自定義廣播 ? 大視圖廣播。

普通廣播的創(chuàng)建:

通知的內(nèi)容和屬性:NotificationCompat內(nèi)部的builder類進(jìn)行通知的內(nèi)容進(jìn)行設(shè)置较性,各種set方法用僧;

通知的屬性:通過Notification實(shí)例的falg設(shè)置通知屬性结胀;

通知實(shí)例的獲得:通過Builder類的builder()方法創(chuàng)建;

通知的發(fā)送:通過notificationManger的notify()方法發(fā)送通知责循;

普通通知的創(chuàng)建發(fā)送以及方法講解:

1.創(chuàng)建Notification的builder類

NotificationCompat.Builder? builder=new NotificationCompat.Builder(this);

2.利用builder實(shí)例設(shè)置Notification屬性:

//設(shè)置通知標(biāo)題欄內(nèi)容

builder.setContentTitle("通知的標(biāo)題")

//設(shè)置通知詳細(xì)信息欄內(nèi)容

.setContentText("通知的內(nèi)容")

//設(shè)置大小圖標(biāo)會(huì)在下main繼續(xù)講

.setSmallIcon(R.mipmap.ic_launcher)

.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.aa))

.setTicker("狀態(tài)欄中提示內(nèi)容")

//設(shè)置通知欄點(diǎn)擊執(zhí)行的意圖 pendingIntent(也就是點(diǎn)擊完成跳轉(zhuǎn))糟港;

.setContentIntent(pendingIntent)

//設(shè)置通知集合的數(shù)量(沒用到過)

.setNumber(6)

//通知產(chǎn)生的時(shí)間,會(huì)在通知信息里顯示沼死,一般是系統(tǒng)獲取到的時(shí)間

//如果不寫着逐,默認(rèn)為通知發(fā)出時(shí)系統(tǒng)的時(shí)間;

.setWhen(System.currentTimeMillis())

//設(shè)置該通知優(yōu)先級(jí)(在廣播中用過這個(gè)屬性)

.setPriority(Notification.PRIORITY_DEFAULT)

//設(shè)置這個(gè)標(biāo)志當(dāng)用戶單擊面板就可以讓通知將自動(dòng)取消

.setAutoCancel(false)

//點(diǎn)擊或則側(cè)滑通知意蛀,通知不會(huì)消失耸别;利用它設(shè)置他為一個(gè)正在進(jìn)行的通知。他們通常是用來表示一個(gè)后臺(tái)任務(wù),用戶積極參與(如播放音樂)或以某種方式正在等待,因此占用設(shè)備(如一個(gè)文件下載,同步操作,主動(dòng)網(wǎng)絡(luò)連接)

.setOngoing(true)县钥;

//提示模式

.setDefaults(Notification.DEFAULT_VIBRATE)

方法詳解:

.setSmallIcon(R.mipmap.ic_launcher)

.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.aa))

.setTicker("狀態(tài)欄中提示內(nèi)容")

第一種:當(dāng)只設(shè)置了SmallIcon沒有設(shè)置LargeIcon的時(shí)候:SmallIcon的圖標(biāo)將會(huì)出現(xiàn)在LargeIcon的位置秀姐,而小圖標(biāo)位置將不會(huì)又圖標(biāo)。

第二中:當(dāng)既有SmallIcon又有LargeIcon的時(shí)候若贮,LargeIcon將會(huì)出現(xiàn)在LargeIcon位置省有,SmallIcon也會(huì)出現(xiàn)在SmallIcon的位置;

setTicker()是在通知發(fā)出的時(shí)候谴麦,在狀態(tài)欄彈出的提示內(nèi)容(彈出提示的內(nèi)容又小圖標(biāo)和Ticker方法中的內(nèi)容)

注意:小圖標(biāo)必須有蠢沿,否則將無法顯示通知;

.setPriority(Notification.PRIORITY_DEFAULT)//設(shè)置通知的優(yōu)先級(jí)別

Notification.PRIORITY_DEFAULT ? ? 默認(rèn)

Notification.PRIORITY_HIGH ? ? ? ? ? ? 高

Notification.PRIORITY_LOW ? ? ? ? ? ? ?低?

Notification.PRIORITY_MAX ? ? ? ? ? ? ?最高

Notification.PRIORITY_MIN ? ? ? ? ? ? ? 最低

.setDefaults(int defaults)(需要 VIBRATE permission) 匾效;

功能:向通知添加聲音舷蟀、閃燈和振動(dòng)效果的最簡(jiǎn)單、使用默認(rèn)(defaults)屬性面哼,可以組合多個(gè)屬性

對(duì)應(yīng)屬性:

Notification.DEFAULT_VIBRATE ? ?//添加默認(rèn)震動(dòng)提醒 ?

Notification.DEFAULT_SOUND ? ?//?添加默認(rèn)聲音提醒

Notification.DEFAULT_LIGHTS//?添加默認(rèn)三色燈提醒

Notification.DEFAULT_ALL//?添加默認(rèn)以上3種全部提醒


setVibrate(long[] pattern)設(shè)置自定義震動(dòng)模式

//延遲0ms野宜,然后振動(dòng)200ms,在延遲200ms魔策,接著在振動(dòng)300ms匈子。

.setVibrate(new long[]?{0,200,200,300});


//設(shè)定自定義燈光

.setLights(int RGB,int onTime,int lowLight)

參數(shù)說明:

RGB 表示燈光顏色、 onTime亮持續(xù)時(shí)間闯袒、lowLight暗的時(shí)間虎敦。

注意:只有在設(shè)置了標(biāo)志符Flags為Notification.FLAG_SHOW_LIGHTS的時(shí)候,才支持三色燈提醒政敢。

這邊的顏色跟設(shè)備有關(guān)原茅,不是所有的顏色都可以,要看具體設(shè)備堕仔。


設(shè)定自定義音樂

setSound(Uri?music)

.setSound(Uri.parse("file:///sdcard/xx/xx.mp3"))


進(jìn)度條的說明:

setProgress(int ?max ?,int ?value ?晌区,boolean ?sure)摩骨;

參數(shù)說明:

max---進(jìn)度條最大值通贞;

value---進(jìn)度條當(dāng)前值;

sure----進(jìn)度條進(jìn)度是否確定恼五;

? ? ? ? ? ? true為進(jìn)度條不確定昌罩,max與value就不會(huì)在進(jìn)度條中顯示;

? ? ? ? ? ? ?false進(jìn)度條確定灾馒,max與value正常顯示

進(jìn)度條取消:setProgress(0, 0, false)

方法版本問題:4.0后才可以在buidler中調(diào)用setProgress()方法茎用;


//獲得Notification實(shí)例

NotificationCompat ?notificaton=builder.buidler();

//通過Notification的flag設(shè)置屬性;

設(shè)置屬性代碼:

notification.flags = Notification.FLAG_AUTO_CANCEL;

提醒標(biāo)志符成員:

Notification.FLAG_SHOW_LIGHTS ? ? ?//三色燈提醒睬罗,在使用三色燈提醒時(shí)候必須加該標(biāo)志符

Notification.FLAG_ONGOING_EVENT ? //發(fā)起正在運(yùn)行事件(活動(dòng)中)

Notification.FLAG_INSISTENT//讓聲音轨功、振動(dòng)無限循環(huán),直到用戶響應(yīng)(取消或者打開)

Notification.FLAG_ONLY_ALERT_ONCE//發(fā)起Notification后容达,鈴聲和震動(dòng)均只執(zhí)行一次

Notification.FLAG_AUTO_CANCEL ? ? ?//用戶單擊通知后自動(dòng)消失

Notification.FLAG_NO_CLEAR ? ? ? ? //只有全部清除時(shí)古涧,Notification才會(huì)清除,不清楚該通知(QQ的通知無法清除花盐,就是用的這個(gè))

Notification.FLAG_FOREGROUND_SERVICE ? ?//表示正在運(yùn)行的服務(wù)



自定以通知的基本使用:

自定布局的創(chuàng)建:

RemoteViews mRemoteViews = new RemoteViews(String packageName, int layoutId);

參數(shù)說明:packageName :報(bào)名羡滑,通過getPackageName()

? ? ? ? ? ? ? ? ? layoutId:加載自定義布局ID;


設(shè)置自定義布局的屬性:

設(shè)置的圖片屬性

mRemoteViews.setImageViewResource(int viewId, int srcId);

參數(shù)說明 ? viewId ?為自定義布局中算芯,Button等布局的ID柒昏;

? ? ? ? ? ? ? ? ? srcId ?為需要設(shè)置圖片的ID;

設(shè)置點(diǎn)擊意圖:

mRemoteViews.setOnClickPendingIntent(int viewId,PendingIntent pendingIntent);

參數(shù)說明:viewId? ? 為自定義布局中熙揍,Button等布局的ID职祷;

? ? ? ? ? ? ? ? ? pendingIntent ? 為點(diǎn)擊相應(yīng)按鈕需要執(zhí)行的意圖;

添加自定義布局:

mBuilder.setContent(mRemoteViews)

NotificationManager的發(fā)送诈嘿,更新堪旧,刪除

notificationManager.cancel(int ID);

參數(shù)說名:ID為發(fā)送通知的時(shí)候設(shè)置的ID;取消該ID奖亚;

notify(int id, Notification notification)淳梦; // 將通知加入狀態(tài)欄,,標(biāo)記為id

參數(shù)說明:id相當(dāng)于notification的一一對(duì)應(yīng)標(biāo)志昔字;

// 在Android進(jìn)行通知處理爆袍,首先需要重系統(tǒng)哪里獲得通知管理器NotificationManager,它是一個(gè)系統(tǒng)Service作郭。

NotificationManager?manager?=?(NotificationManager)?getSystemService(Context.NOTIFICATION_SERVICE);

還有大圖風(fēng)格---尚未完成

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陨囊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子夹攒,更是在濱河造成了極大的恐慌蜘醋,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咏尝,死亡現(xiàn)場(chǎng)離奇詭異压语,居然都是意外死亡啸罢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門胎食,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扰才,“玉大人,你說我怎么就攤上這事厕怜●孟唬” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵粥航,是天一觀的道長(zhǎng)琅捏。 經(jīng)常有香客問我,道長(zhǎng)躁锡,這世上最難降的妖魔是什么午绳? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮映之,結(jié)果婚禮上拦焚,老公的妹妹穿的比我還像新娘。我一直安慰自己杠输,他們只是感情好赎败,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蠢甲,像睡著了一般僵刮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鹦牛,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天搞糕,我揣著相機(jī)與錄音,去河邊找鬼曼追。 笑死窍仰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的礼殊。 我是一名探鬼主播驹吮,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼晶伦!你這毒婦竟也來了碟狞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤婚陪,失蹤者是張志新(化名)和其女友劉穎族沃,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竭业,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年智润,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片未辆。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖锯玛,靈堂內(nèi)的尸體忽然破棺而出咐柜,到底是詐尸還是另有隱情,我是刑警寧澤攘残,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布拙友,位于F島的核電站,受9級(jí)特大地震影響歼郭,放射性物質(zhì)發(fā)生泄漏遗契。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一病曾、第九天 我趴在偏房一處隱蔽的房頂上張望牍蜂。 院中可真熱鬧,春花似錦泰涂、人聲如沸鲫竞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽从绘。三九已至,卻和暖如春是牢,著一層夾襖步出監(jiān)牢的瞬間僵井,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工驳棱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留批什,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓蹈胡,卻偏偏與公主長(zhǎng)得像渊季,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子罚渐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容