vivo系統無許可權開啟懸浮框的問題
大家都知道,新增懸浮窗的原理就是獲取WindowManager,然後呼叫WindowManager的
addView(View view, ViewGroup.LayoutParams params)
方法即可。
View
就是需要顯示的懸浮窗,ViewGroup.LayoutParams包含了是全屏、非全屏和是否需要攔截觸控事件的引數
而在前段時間的vivo幾款手機中出現的一個問題是,沒有給予許可權卻能在應用內開啟懸浮窗,但是當應用位於後臺時,懸浮窗消失,並且再開啟邊無法開啟懸浮窗了,而且會導致異常
這是為什麼呢?
根據log和相關資料發現在我使用FloatWindowParamManager.checkPermission(getApplicationContext())檢測使用者是否給予我們“
允許顯示在其他應用的上層
”這個許可權,而在vivo手機中,當應用處於前臺是,無論使用者是否給予相關許可權,我的判斷總是返回true,也就是總是返回使用者允許懸浮窗存在,而應用處於前臺是,懸浮窗的所有功能卻也是正常執行的,但是一旦處於後臺,懸浮窗消失,重新嘗試開啟,無法正常開啟
經過嘗試發現:原來Vivo在應用前臺可見時會預設給予應用這個許可權,無論實際這個懸浮窗許可權有沒有被使用者允許都可以。但是當應用處於後臺時只有這個懸浮窗許可權開關真的開啟時才能新增顯示懸浮窗!也就是說一樣的程式碼,應用處於前臺是,一直返回true,當應用處於後臺時才是真正的許可權出來的時候
所以,對於Vivo的操作重點空i在於確保App處於後臺時確實獲取到了懸浮窗許可權
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2743780/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何獲取Vivo系統的懸浮窗許可權狀態
- 適配懸浮窗許可權與系統設定修改許可權
- 非侵入式無許可權應用內懸浮窗的實現
- Android 輔助許可權與懸浮窗Android
- Android懸浮框的適配問題Android
- 基於角色的許可權系統的問題
- Android 懸浮窗許可權各機型各系統適配大全Android
- 關於jdon裡許可權系統的問題
- vivo NEX雙屏版怎麼設定懸浮球功能?vivo NEX雙屏版懸浮球的開啟方法
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- win10系統如何開啟管理員許可權 win10開啟管理員許可權的圖文教程Win10
- 許可權維持專題:作業系統許可權維持作業系統
- MySQL許可權問題MySql
- mongodb 的許可權系統MongoDB
- Android系統許可權和root許可權Android
- moderator permission的許可權問題
- Android中的懸浮框Android
- MySQL許可權系統MySql
- Oracle系統許可權Oracle
- MAC 開啟root許可權Mac
- 無程式碼實現CRM角色許可權問題
- android 許可權問題Android
- SQL Server許可權問題SQLServer
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- Android桌面懸浮框Android
- 認證/授權與許可權的問題
- 基於tp3.2.3開發的許可權管理系統,路由,微信,cdn,許可權路由
- 遇到問題,需要開發角色許可權模組
- 用無程式碼解決CRM角色許可權問題
- ssh無法登入——許可權問題如何解決
- Android懸浮框的實現Android
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統設計
- 許可權系統跟進
- 各位高手,問下許可權上的問題
- tmp 檔案系統許可權問題引起的TNS-12557