https://blog.csdn.net/haiyang497661292/article/details/78097775
https://blog.csdn.net/qq_21556263/article/details/82768420
https://www.cnblogs.com/waleyx/p/3649411.html
近日遇到一些問題,接入廣告sdk的時候,老闆提出了"攔截廣告的點擊監聽並自己控制”這樣要求
然後設想了一下解決的方式,先獲取彈窗的view(PopupWindow、dialog),然後獲取view的組件,最後獲取組件的listener
組件有點擊廣告,點擊關閉兩個內容需要由我們控制(點擊範圍改變,自動點擊等)(感覺吃棗藥丸)
通過上面幾篇(特別是第四篇的源碼解析)基本可以看得出最主要的是WindowManagerGlobal
view的添加、更新、刪除都通過WindowManagerGlobal
而view的大小設置位置設置則通過windowManager實現
想象中處理方式是從WindowManagerGlobal獲取View對象,然後再獲取組件,最後進行操作
但是從windowManagerGlobal獲取當前展示的view的方法沒有發現甚至從activity直接獲取windowManagerGlobal單例的時候也失敗了
即使獲取了view,不知道layout裏面組件對應的id也無法指定組件並進行修改,可能這個解法是錯誤的,需要尋求另外的方式來實現