欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)懸浮窗踩坑解決

 更新時間:2023年03月17日 08:42:37   作者:新小夢  
這篇文章主要為大家介紹了Android懸浮窗踩坑解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

最近在做一個全局懸浮窗的基于ChatGPT應(yīng)用快Ai,需要懸浮于其他應(yīng)用上面,方便從懸浮窗ChatGPT返回的內(nèi)容可以拖拽到其他應(yīng)用內(nèi)部。自身應(yīng)用透明,通過WindowManger添加懸浮窗。類似現(xiàn)在很多應(yīng)用跳轉(zhuǎn)到其他應(yīng)用,會懸浮一個小按鈕,方便用戶點擊調(diào)回自身一樣。只不過快Ai窗口比較大,但不全屏。

碰到以下幾個問題:

1、懸浮窗中EditText無法獲得彈出鍵盤

主要是沒有明白下面兩個屬性的作用,在網(wǎng)上搜索之后直接設(shè)置了。

WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE

設(shè)置FLAG_NOT_FOCUSABLE,懸浮窗外的點擊才有效,會把事件分發(fā)給懸浮窗底層的其他應(yīng)用Activity。如果設(shè)置了FLAG_NOT_FOCUSABLE,那么屏幕上彈窗之外的地方能夠點擊、但是彈窗上的EditText鍵盤也不會彈出來。

此時懸浮窗外的事件是不會觸發(fā)懸浮窗內(nèi)ViewonToucheEvent函數(shù),可以通過添加WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH標(biāo)志位,但無法攔截事件。

WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

屏幕上彈窗之外的地方能夠點擊、彈窗上的EditText也可以輸入、鍵盤能夠彈出來。

所以根據(jù)業(yè)務(wù)需要,我只需要添加WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL標(biāo)志位即可。

2、懸浮窗無法錄音

通過Activity調(diào)起Service,然后在Service通過WindowManager進行添加懸浮窗。在進行沒有任何操作,可以正常調(diào)起科大訊飛進行錄音。

問題點一:同事為了解決我還沒來得及修復(fù)的windowManger.removeView改成exitProcess問題,強行各種修改,最終還調(diào)用了activityfinish函數(shù),把activity干掉。最終導(dǎo)致無法調(diào)起科大訊飛的語音識別。總是報錄音權(quán)限問題,找不到任何的問題點,最后代碼回退,定位到Activity被干掉,同事也承認他的愚蠢行為。

問題點二:在進行一些操作,例如授權(quán)跳轉(zhuǎn)到設(shè)置之后,退出設(shè)置回到原先界面,調(diào)不錄音,還是權(quán)限。定位答應(yīng)透明Activity的生命周期,發(fā)現(xiàn)onResume函數(shù)沒有被調(diào)用到,所以應(yīng)用現(xiàn)在在后臺運行。

所以就一頓頓頓搜索,官方文檔: Android 9 對后臺運行的應(yīng)用增加了權(quán)限限制。

解決方法:

  • 聲明為系統(tǒng)應(yīng)用,沒問題。但我們想做通用軟件。
  • 增加前臺服務(wù)。實測沒效果。
  • 在2的基礎(chǔ)上,再添加一個屬性:android:foregroundServiceType="microphone"。完美。
<service android:name=".ui.service.AiService"
    android:foregroundServiceType="microphone"
    />

希望本文對君有用!

以上就是Android開發(fā)懸浮窗踩坑解決的詳細內(nèi)容,更多關(guān)于Android懸浮窗的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android實現(xiàn)畫中畫功能(圖片)

    Android實現(xiàn)畫中畫功能(圖片)

    畫中畫是一種特殊類型的多窗口模式,最常用于視頻播放。這篇文章主要介紹了Android實現(xiàn)畫中畫功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android圓形旋轉(zhuǎn)菜單開發(fā)實例

    Android圓形旋轉(zhuǎn)菜單開發(fā)實例

    本文給大家分享一個動畫菜單,基于android開發(fā)圓形旋轉(zhuǎn)菜單案例,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • Android SearchView搜索框組件的使用方法

    Android SearchView搜索框組件的使用方法

    這篇文章主要為大家詳細介紹了Android SearchView搜索框組件的使用方法,即時搜索提示功能的實現(xiàn),感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android對sdcard擴展卡文件操作實例詳解

    Android對sdcard擴展卡文件操作實例詳解

    這篇文章主要介紹了Android對sdcard擴展卡文件操作,非常實用的技術(shù),需要的朋友可以參考下
    2014-07-07
  • Android使用Kotlin實現(xiàn)多節(jié)點進度條

    Android使用Kotlin實現(xiàn)多節(jié)點進度條

    這篇文章主要為大家詳細介紹了Android使用Kotlin實現(xiàn)多節(jié)點進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Android中Intent傳遞對象的兩種方法Serializable,Parcelable

    Android中Intent傳遞對象的兩種方法Serializable,Parcelable

    這篇文章主要介紹了Android中的傳遞有兩個方法,一個是Serializable,另一個是Parcelable,對intent傳遞對象的兩種方法感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Android中WebView的使用與后退鍵處理詳細講解

    Android中WebView的使用與后退鍵處理詳細講解

    博主自從開始寫安卓以來,一直飽受WebView的摧殘,好在網(wǎng)上一大堆的大神給出了他們成長路上遇到的坑以及一些解決辦法,這篇文章主要給大家介紹了關(guān)于Android中WebView的使用與后退鍵處理的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Templates實戰(zhàn)之更優(yōu)雅實現(xiàn)自定義View構(gòu)造方法詳解

    Templates實戰(zhàn)之更優(yōu)雅實現(xiàn)自定義View構(gòu)造方法詳解

    本篇文章介紹如何利用Android Studio提供的Live Templates更優(yōu)雅實現(xiàn)自定義View的構(gòu)造方法,說句人話就是:簡化自定義View構(gòu)造參數(shù)模板代碼的編寫,實現(xiàn)自動生成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android RecyclerView實現(xiàn)數(shù)據(jù)列表展示效果

    Android RecyclerView實現(xiàn)數(shù)據(jù)列表展示效果

    這篇文章主要為大家詳細介紹了Android RecyclerView實現(xiàn)數(shù)據(jù)列表展示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • android實現(xiàn)簡單圓弧效果

    android實現(xiàn)簡單圓弧效果

    這篇文章主要為大家詳細介紹了android實現(xiàn)簡單圓弧效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論