Android開發系列---UI篇---添加和消除通知欄圖標



在android的app開發中,在退出程序時,會保留部分服務,因此在頂部的通知欄留下一個圖標,用戶通過點擊圖標可以快捷訪問應用程序。例如360、騰訊qq等。

一、創建通知欄圖標

NotificationManager mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

CharSequence text = getText(R.string.name);
//設置圖標
Notification notification = new Notification(R.drawable.icon, text, System.currentTimeMillis());
//設置圖標是否能被系統清理掉
notification.flags = notification.flags | Notification.FLAG_NO_CLEAR;
// 綁定intent,主要作用就是點擊圖標時能夠進入程序
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MyActivity.class), 0);


notification.setLatestEventInfo(this, getText(R.string.name), text, contentIntent);
//發送通知
mNM.notify(R.string.name, notification);

notification.flags有多種設置值,主要有Notification.FLAG_AUTO_CANCEL(可以被系統清理掉)、Notification.FLAG_ONGOING_EVENT(設置正在運行)等。

 

二、代碼中清除通知欄圖標

有時候,我們在代碼里設置了Notification.FLAG_NO_CLEAR,這樣的通知欄圖標我們通過系統是無法clear掉的,這樣就可能會讓用戶很煩躁,當然有些可以通過第三方軟件強制清除。為了提供用戶體驗性,我們可以在退出時提示用戶,是否要在后台繼續運行程序或服務。下面看代碼,僅僅是清除通知欄圖標代碼:

NotificationManager notificationManager = (NotificationManager) MainActivity.this
.getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(R.string.name);//此處的R.string.name就是我們在發送通知時,設置的通知id

 

就這樣。

因為經驗尚淺,其實我寫博文的主要目的是,為了讓自己以后能夠拿來主義。所以很多不足之處,敬請諒解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM