仿微信添加好友消息通知欄遇到的問題記錄

最近在做通知欄相關(guān)功能,和微信添加好友后的通知類似。因為下面有兩個view,想著應(yīng)該是自定義吧。便開始著手寫xml, 運行后發(fā)現(xiàn)有如下問題:

1.直接 設(shè)置 builder.setCustomContentView(remoteViews),發(fā)現(xiàn)通知欄顯示不全,此原因是自定義的remoteview 高度過高導(dǎo)致。

2.用builder.setCustomBigContentView(remoteViews), 發(fā)現(xiàn)通知欄會收縮起來,點擊小三角才能展示整個通知內(nèi)容。
顯然不滿足要求,經(jīng)查閱文檔看到notification 中有個addAction() ,此方法可以在通知欄下方添加按鈕。

intent.setAction("notification_clicked_ignore");
builder.addAction(0, "忽略", PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)); 

intent.setAction("notification_clicked_accept");
builder.addAction(0, "接受", PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT));
一加手機通知欄.jpg
vivo 手機通知欄.jpg

以上兩個圖片都是微信添加好友后的通知,都是是系統(tǒng)自帶的通知欄,只是在不同的手機上表現(xiàn)不同。
需要注意的是在一加手機忽略和接受是靠近左邊的,而在vivo 手機上的表現(xiàn)是左右均分,如希望在一加手機上也左右均分,則可以用builder.setFullScreenIntent(). 代碼如下

 //如果描述的PendingIntent已經(jīng)存在,則在產(chǎn)生新的Intent之前會先取消掉當(dāng)前的
            PendingIntent hangPendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT);
            builder.setFullScreenIntent(hangPendingIntent, true);
一加手機下方按鈕均分.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄介紹 1.Notification簡單概述 2.Notification通知用途 3.Notification...
    楊充211閱讀 5,985評論 2 18
  • 轉(zhuǎn)載自:http://blog.csdn.net/vipzjyno1/article/details/252480...
    HEXG_閱讀 6,113評論 0 2
  • 不怕跌倒,所以飛翔 參考文獻:ASleepyCoder的Android Notification常見樣式總結(jié)文章v...
    筆墨Android閱讀 2,788評論 0 3
  • 轉(zhuǎn)發(fā):有個故事講,早年臺灣有群年輕人推行,文明運動,比如自愿排隊等公交。結(jié)果,他們發(fā)現(xiàn),他們坐不到公交車,他們禮讓...
    般若無相閱讀 230評論 0 1
  • 瓜蔞皮與瓜蔞仁一起入藥稱為栝蔞實。
    除蓋障閱讀 2,062評論 0 0

友情鏈接更多精彩內(nèi)容