01?Notification與NotificationManager
02?構(gòu)建一個(gè)NotificationManager
先添加兩個(gè)按鈕
運(yùn)行出來會(huì)是這樣的
這段代碼里面添加了兩個(gè)onClick事件
當(dāng)觸發(fā)這兩個(gè)事件的時(shí)候分別調(diào)用發(fā)出通知和取消通知的方法
提前準(zhǔn)備了兩個(gè)圖片
03?getSystemService獲取Notifiction的對(duì)象
manager?= (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
04?創(chuàng)建Notificition的對(duì)象
通過鏈?zhǔn)浇Y(jié)構(gòu)去設(shè)置這個(gè)通知的屬性
05?這個(gè)build里面有兩個(gè)參數(shù)
一個(gè)是channelid
這個(gè)channelid是什么呢市咆?
這是通知渠道NotificationChannel
這里需要對(duì)版本進(jìn)行一個(gè)判斷(只有大于8.0才能創(chuàng)建)
判斷版本大于8.0之后
在創(chuàng)建一個(gè)通知渠道
進(jìn)去看NotifictionChannel的參數(shù)
關(guān)鍵看第三個(gè):通知重要程度
這里修改通知重要程度使其是否彈出
這樣再寫一個(gè)
manager.createNotifictionChannel(channel);
而且這樣上面的代碼NotifictionChannel里面的id和下面的channelid相當(dāng)于形成一個(gè)綁定關(guān)系
06?通知notificition需要設(shè)置什么樣的屬性
這個(gè)設(shè)置的話是采用鏈?zhǔn)浇Y(jié)構(gòu)設(shè)置的
在.build前面換行
之后再添加這些屬性
這個(gè).setSmallIcon就是設(shè)置這個(gè)圖片的id
注意點(diǎn):這個(gè)圖片不能有顏色
通知只要設(shè)置了前三個(gè)之后就可以了狸膏,其他的可以根據(jù)所需要的功能去設(shè)置
07?設(shè)置發(fā)送通知
需要用到notify這個(gè)方法
進(jìn)而看這個(gè)方法需要哪些參數(shù)
注意這個(gè)id時(shí)刻隨便寫的
然后來使用這個(gè)方法
調(diào)用這個(gè)notify方法
那么這里對(duì)之前寫的代碼進(jìn)行一個(gè)修改
先將其設(shè)置為全局的
在對(duì)notify的參數(shù)進(jìn)行填充,id(隨便設(shè)置)設(shè)置為1晋渺,Notifiction
這樣之后就可以顯示通知
但是這個(gè)時(shí)候點(diǎn)擊這個(gè)通知刑棵,仍然不會(huì)跳轉(zhuǎn)到app里面
08?如何去跳轉(zhuǎn)呢
BitmapFactory.decodeResource(getResource(),R.id.____)
先來看一下這個(gè)setLargeIcon來設(shè)置通知的大圖標(biāo)
但是得將這個(gè)圖片轉(zhuǎn)化為Bitmap型的几缭,所以得調(diào)用
這里也可以設(shè)置小圖標(biāo)的顏色
這個(gè)還可以設(shè)置跳轉(zhuǎn)
但是這個(gè)Intent是pendingIntent intent
需要在前面先創(chuàng)建一個(gè)Intent
然后這里再創(chuàng)建一個(gè)activity
新建一個(gè)NotifictionActivity
首先這個(gè)NotifictionActivity?是繼承了Activity
先oncreate
然后再在下面調(diào)用一個(gè)打印的方法
然后回到MainActivity里面去修改參數(shù)
創(chuàng)建了這個(gè)意圖之后派桩,
但是我們要?jiǎng)?chuàng)建的是pendingIntent
這樣就創(chuàng)建好了
然后把pendingIntent傳入之前的那個(gè)跳轉(zhuǎn)方法里面
09?點(diǎn)擊通知之后自動(dòng)消除通知
另一種取消通知的方法
注意兩個(gè)id必須要對(duì)應(yīng)相同
10?看效果
船長(zhǎng)科技
電子人诡渴,極客開發(fā)者浸策,電子信息工程在讀冯键,介紹科技類,科幻類庸汗,以及分享一些互聯(lián)網(wǎng)學(xué)習(xí)經(jīng)驗(yàn)
公眾號(hào)??
歡迎關(guān)注“船長(zhǎng)科技”
船長(zhǎng)和你一起走進(jìn)科技
探索生活中的科技
保持一顆好奇心