Android懸浮窗不用動態申請許可權方法
前言
前幾天我剛寫了一篇《Android實現可移動的懸浮窗》的文章,需要在AndroidManifest.xml里的加上許可權申請
而這個許可權到了android6.0後需要動態申請,加到app中,運行程序時候會讓彈出讓你打開上層窗口的許可權,有點不太友好。
最近手機里的直播軟體如熊貓TV,虎牙直播等,在退出直播房間時右下角會有當前房間的直秋視頻繼續存在,這裡肯定也是用到了懸浮窗,但是我記得在安裝這些APP時並沒有發現它們會彈出讓你打開上層窗口的許可權控制,於是決定查找一下這方面的資料看一下。
在度娘的幫助下,找到了下面這篇文章《Android無需許可權顯示懸浮窗, 兼談逆向分析app》
由於無法超鏈接,這裡貼上地址:https://www.jianshu.com/p/167fd5f47d5c
文中作者用的反編譯UC的APP一步一步的查找找到的這個方法,具體反編譯我也不是太了解,就不細說了,我們下面說重點:
文中有這第一段
也就是說懸浮窗的WindowManager.LayoutParams這個參數裡面的type,我們把他的值設置為TYPE_TOAST時,是不需要通過android來申請許可權的,但是在api19以下的,也就是android4.3及以下的版本中,如果用TYPE_TOAST懸浮窗正常顯示, 但不能接受觸摸事件.
所以最終的處理方式為當android的api
這樣就可以兼容所有版本了。
回到我們上次懸浮窗的代碼
我們把原來紅框裡面兼容android8,0版本的判斷去掉,改為下面綠框裡面的當api
再運行程序即可實現不用動態申請上層許可權即可實現android的懸浮窗效果了。
-END-
長按下方二維碼關注


※C+OpenCV圖像亮度和對比度操作
※C+OpenCV自定義線性濾波
TAG:微卡智享 |