Android截圖監聽
在很多的應用中都有這樣的一個暗藏的功能,就是在應用中截圖,會觸發彈窗,彈窗會詢問你是否有什麼問題或者是否想分享該截圖,這就是截圖監聽
其實截圖監聽無非是
-
利用FileObserver監聽某個目錄中資源變化情況
-
利用ContentObserver監聽全部資源的變化
-
監聽截圖快捷按鍵
這三種方案
第一種方案是透過 FileObserver監聽截圖資料夾,當有新的截圖檔案產生時,呼叫設定的回撥函式執行相關操作,它的優點就是實現起來比較簡單,缺點是需要做大量的適配,因為不同的廠商出發的監聽事件名字和資料夾都不一樣
第二種方案透過 ContentObserver監聽多媒體圖片庫資源的變化。當手機上有新的圖片檔案產生時都會透過MediaProvider類向圖片資料庫插入一條記錄,以方便系統的圖片庫進行圖片查詢,可以透過ContentObserver接收圖片插入事件,並獲取插入圖片的URI
第三種方案由於廠商自定義Android系統的多樣性,再加上快捷鍵的不同以及第三方應用,監聽截圖快捷鍵這事基本不靠譜,所以自動忽略這個方案
透過讀原始碼(TakeScreenshotService 和 GlobalScreenshot )總結Android截圖系統做的事情:
儲存截圖Bitmap到本地檔案
把圖片記錄插入到ContentProvider中
傳送一個截圖相關的Notification
所以,第二種方案的情況下,是我們最容易實現的
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2743774/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android 截圖Android
- Android 普通View截圖 RecyclerView截圖 ScrollView截圖分享AndroidView
- Android截圖方案Android
- Android下截圖Android
- Android截圖和指定View生成截圖分享AndroidView
- Android Home鍵監聽Android
- [android]android命令列截圖Android命令列
- Android下截圖-2Android
- SpringBoot 攔截器、過濾器、監聽器Spring Boot過濾器
- home鍵監聽(Android應用切換到後臺監聽)Android
- Android Hook 全面入侵監聽器AndroidHook
- Android.GridView事件監聽AndroidView事件
- springBoot的過濾器,監聽器,攔截器Spring Boot過濾器
- android QQ截圖 開發Android
- android截圖功能實現Android
- android 截圖程式碼段Android
- android截圖方法總結Android
- Android 監聽生命週期工具庫Android
- Android掃碼槍監聽封裝Android封裝
- Android 監聽鍵盤彈出收起Android
- Android 解除安裝監聽詳解Android
- android PopupWindow監聽返回鍵無效Android
- JavaWeb之Servlet、攔截器、監聽器及程式設計思想JavaWebServlet程式設計
- 監聽 watch props物件屬性監聽 或深度監聽物件
- Android長截圖的實現Android
- android 螢幕截圖原始碼Android原始碼
- 快速簡化Android截圖工作Android
- Android Service 服務的應用之電話監聽器以及簡訊監聽器Android
- Android Home鍵、鎖屏鍵監聽Android
- Android的事件處理——監聽介面方式Android事件
- Android 監聽home鍵的動作Android
- android監聽TF卡插拔事件 判斷Android事件
- spring boot 新增自定義監聽器、過濾器、攔截器Spring Boot過濾器
- 動態監聽與靜態監聽
- 動態監聽和靜態監聽
- Android 截圖的各種騷操作Android
- Android 5.0 螢幕錄製/截圖Android
- Android螢幕截圖方式總結Android