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

Android開發(fā)案例手冊Application跳出dialog

 更新時間:2022年06月08日 17:08:42   作者:芝麻粒兒  
這篇文章主要為大家介紹了Android開發(fā)案例手冊Application跳出dialog,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

??實踐過程

??場景還原

線程中監(jiān)測和硬件的連接,在任何斷開的話需要彈出框給用戶選擇是否重新連接。

所以我們的思路就是不使用依托于Activity的Dialog,而是使用依托于Aplication的Dialog。

??開始

首先是動態(tài)申請權(quán)限

<!--這行代碼必須存在,否則點擊不了系統(tǒng)設(shè)置中的按鈕-->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>? 
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />

用戶不同意?那就用不了App就行了,我們一般都是如果沒給權(quán)限直接退出應(yīng)用。

現(xiàn)在哪個App不是必須要權(quán)限,看似允許用戶自主同意,但哪個不是拒絕后無法使用功能。

所以不用太糾結(jié)。

接著在硬件設(shè)備斷開連接的回調(diào)中處理

//設(shè)備斷開連接的回調(diào)  isAutoConnectDlg是個dialog彈框

override fun onClientRemove(address: String?, alias: String?) {
??? //禁止外部點擊取消
??? isAutoConnectDlg!!.setCanceledOnTouchOutside(false)
??? isAutoConnectDlg!!.setCancelable(false)
??? dlgWindows.setWindowAnimations(R.style.DialogRight)
??? //重要 設(shè)置彈框類型
??? if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
??????? dlgWindows.setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY)
??? } else {
??????? dlgWindows.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)
??? }
??? dlgWindows.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
??? isAutoConnectDlg!!.show()
}

之后在連接成功的回調(diào)中取消該彈框即可。

至此基本就可以了。但是還有個特殊情況,就是彈出框后用戶按下了Home也就是回到了桌面,或者是Android的后臺殺進程界面 都會造成該彈框顯示,影響不太好。

這時候就需要我們自定義Application,然后實現(xiàn)ActivityLifecycleCallbacks接口即可,該接口在Android 4.0 就已經(jīng)退出了,注冊后,所有的Activity生命周期都會回調(diào),方便監(jiān)聽處理業(yè)務(wù)。

因為進入后臺頁面,Activity的pause和stop這些就會執(zhí)行,我們每個Activity去監(jiān)聽不太合適,所以ActivityLifecycleCallbacks是很好的選擇。

class MyApp : Application(), Application.ActivityLifecycleCallbacks {
??? override fun onCreate() {
??????? super.onCreate()
??????? registerActivityLifecycleCallbacks(this)
??? }
??? override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
??????? TODO("Not yet implemented")
??? }
??? override fun onActivityStarted(activity: Activity) {
??????? TODO("Not yet implemented")
??? }
??? override fun onActivityResumed(activity: Activity) {
??????? TODO("Not yet implemented")
??? }
??? override fun onActivityPaused(activity: Activity) {
??????? //在這進行彈框處理
??? }
??? override fun onActivityStopped(activity: Activity) {
??????? //在這進行彈框處理
??? }
??? override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
??????? TODO("Not yet implemented")
??? }
??? override fun onActivityDestroyed(activity: Activity) {
??????? TODO("Not yet implemented")
??? }
}

??可能會遇見的bug

permission denied for window type 2003

就是沒有動態(tài)申請權(quán)限導致的問題。

以上就是Android開發(fā)案例手冊Application跳出dialog的詳細內(nèi)容,更多關(guān)于Android開發(fā)Application跳出dialog的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Flutter網(wǎng)絡(luò)請求Dio庫的使用及封裝詳解

    Flutter網(wǎng)絡(luò)請求Dio庫的使用及封裝詳解

    本文主要介紹了Flutter網(wǎng)絡(luò)請求Dio庫的使用及封裝詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • Android selector狀態(tài)選擇器的使用詳解

    Android selector狀態(tài)選擇器的使用詳解

    這篇文章主要為大家詳細介紹了Android selector狀態(tài)選擇器的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Android自定義ProgressBar實現(xiàn)漂亮的進度提示框

    Android自定義ProgressBar實現(xiàn)漂亮的進度提示框

    這篇文章主要為大家詳細介紹了Android自定義ProgressBar實現(xiàn)漂亮的進度提示框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android繪制跟隨手指移動的小球

    Android繪制跟隨手指移動的小球

    這篇文章主要為大家詳細介紹了Android繪制跟隨手指移動的小球,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Android Retrofit原理深入探索

    Android Retrofit原理深入探索

    Retrofit 是一個 RESTful 的 HTTP 網(wǎng)絡(luò)請求框架的封裝,網(wǎng)絡(luò)請求的工作本質(zhì)上是 OkHttp 完成,而 Retrofit 僅負責 網(wǎng)絡(luò)請求接口的封裝
    2022-11-11
  • RecyclerView+CardView實現(xiàn)橫向卡片式滑動效果

    RecyclerView+CardView實現(xiàn)橫向卡片式滑動效果

    這篇文章主要為大家詳細介紹了RecyclerView+CardView實現(xiàn)橫向卡片式滑動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • flutter實現(xiàn)頁面多個webview的方案詳解

    flutter實現(xiàn)頁面多個webview的方案詳解

    這篇文章主要為大家詳細介紹了flutter如何實現(xiàn)頁面多個webview的效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解下
    2023-09-09
  • Android實現(xiàn)手機振動設(shè)置的方法

    Android實現(xiàn)手機振動設(shè)置的方法

    這篇文章主要介紹了Android實現(xiàn)手機振動設(shè)置的方法,涉及Android頁面布局、屬性及功能設(shè)置的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • Android實現(xiàn)為Tab添加Menu的方法

    Android實現(xiàn)為Tab添加Menu的方法

    這篇文章主要介紹了Android實現(xiàn)為Tab添加Menu的方法,分析了兩種解決方法的思路并對比分析了相應(yīng)的優(yōu)缺點,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Android手把手教大家制作APP首頁(下拉刷新、自動加載)

    Android手把手教大家制作APP首頁(下拉刷新、自動加載)

    這篇文章主要為大家詳細介紹了Android手把手教大家制作APP首頁,實現(xiàn)下拉刷新、自動加載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論