個人最近在研究安卓通知欄,網(wǎng)上介紹activity中使用通知欄的例子倒是非常;一般就是就是獲取notificationManager,然后再notification.buildr創(chuàng)建一個notification對象(同時在創(chuàng)建一個PendingIntent封裝Intent)最后再通過notificationManager調(diào)用notify(id,notificaion)。于是我就去分析notify();在分析該方法時里面先向serviceManager獲取一個IBindr對象再調(diào)用INotificationManager一個方法返回一個INotificationManager,然后在notify()方法中獲取pkg 、oppkg、notification.clone()等等,最后通過INotifationManager調(diào)用enqueueNotificationWithTag(),在enqueueNotificationWithTag()中通過怕parcel類再把傳進(jìn)來的參數(shù)進(jìn)行數(shù)據(jù)封裝,最后使用mRemote.transact()函數(shù),然后,我在就去binder類中分析transact()該方法發(fā)現(xiàn)該方法去調(diào)用本地方法。目前分析實(shí)在非常亂,我個人還是第一次接觸這個安卓操作系統(tǒng)。希望大神分析過安卓通知欄可以提供一些資料給我?guī)蛶臀摇?
- 0 回答
- 0 關(guān)注
- 1374 瀏覽
添加回答
舉報
0/150
提交
取消