From 3408b10a3466f2db3f81e5c484142e3c180d36ac Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期五, 12 五月 2023 11:24:02 +0800 Subject: [PATCH] 定位权限说明弹窗 --- app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 110 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt b/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt index 1512d1b..aaa225e 100644 --- a/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt +++ b/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt @@ -2,12 +2,23 @@ import android.annotation.SuppressLint import android.os.Bundle +import android.os.CountDownTimer +import android.view.View +import android.webkit.WebSettings +import android.webkit.WebView import androidx.core.app.ActivityCompat +import androidx.core.os.bundleOf +import cn.sinata.xldutils.utils.SPUtils import com.fuban.driver.R -import com.fuban.driver.base.Const -import com.fuban.driver.base.MyBaseActivity +import com.fuban.driver.base.* +import com.fuban.driver.bean.AgreeBean +import com.fuban.driver.netUtls.Api +import com.fuban.driver.netUtls.callNet +import com.fuban.driver.netUtls.getMapByAny import com.fuban.driver.netUtls.getToken import com.fuban.driver.ui.main.MainActivity +import com.fuban.driver.utils.Cache.CacheKey +import com.fuban.driver.utils.view.UserRuleDialog import org.jetbrains.anko.startActivity class StartActivity : MyBaseActivity() { @@ -23,16 +34,25 @@ @SuppressLint("SourceLockedOrientationActivity") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setRxpermiss() + checkPrivacy() +// setRxpermiss() } private fun callLast() { - if (getToken().isNullOrEmpty()){ - startActivity<LoginActivity>() - }else{ - startActivity<MainActivity>() - } + MyApplication.getInstance()?.initSdk() + object :CountDownTimer(2000,1000){ + override fun onTick(millisUntilFinished: Long) { + } + + override fun onFinish() { + if (getToken().isNullOrEmpty()){ + startActivity<LoginActivity>() + }else{ + startActivity<MainActivity>() + } + } + }.start() } @SuppressLint("CheckResult") @@ -59,5 +79,87 @@ override fun setOnclick() { } + private var privacy = "" //隐私协议 + private var user = "" //用户协议 + fun checkPrivacy() { + var isAgreen = CacheKey.getKeyStr("isAgreen") + if (isAgreen.isEmpty()) { + callys { + privacy = it + showPrivacyDialog() + } + callyh { + user = it + showPrivacyDialog() + } + }else + callLast() + } + + private fun showPrivacyDialog(){ + if (privacy.isNotEmpty() && user.isNotEmpty()) { + val userRuleDialog = UserRuleDialog() + userRuleDialog.arguments = bundleOf("privacy" to privacy, "user" to user) + userRuleDialog.setDismissCallback(object : UserRuleDialog.OnDismiss { + override fun onDismiss() { + if (CacheKey.getKeyStr("isAgreen").isNullOrEmpty()) + finish() + else + callLast() + } + }) + val ft = supportFragmentManager.beginTransaction() + ft.add(userRuleDialog, "rule") + ft.commitAllowingStateLoss() + } + } + + fun callys(ok: (s: String) -> Unit) { + var map = getMapByAny() + map["type"] = 1 + callNet(false,Api.queryByType, map) { + var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java) + ok(data.data.content) + } + } + + fun callyh(ok: (s: String) -> Unit) { + var map = getMapByAny() + map["type"] = 2 + callNet(false,Api.queryByType, map) { + var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java) + ok(data.data.content) + } + } + + private fun setWebview(webView: WebView, url: String) { + val settings = webView.settings + settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK + settings.defaultTextEncodingName = "utf-8" //设置编码格式 + settings.useWideViewPort = true //设置此属性,可任意比例缩放 + settings.loadWithOverviewMode = true // 页面支持缩放: + settings.builtInZoomControls = true + settings.useWideViewPort = false //将图片调整到适合webview的大小 + settings.setSupportZoom(false) //支持缩放 + settings.supportMultipleWindows() //多窗口 + settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存 + settings.allowFileAccess = true //设置可以访问文件 + settings.setNeedInitialFocus(true) //当webview调用requestFocus时为webview设置节点 + settings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口 + settings.loadsImagesAutomatically = true //支持自动加载图片 + settings.javaScriptEnabled = true + settings.domStorageEnabled = true + webView.isScrollContainer = false + webView.isScrollbarFadingEnabled = false + webView.scrollBarStyle = View.SCROLLBARS_OUTSIDE_OVERLAY + webView.addJavascriptInterface(InnerJsInterface(), "HTMLOUT") + if (url!!.startsWith("http")) { + webView.loadUrl(url) + } else { + val sHead = + "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>" + webView.loadDataWithBaseURL(null, sHead + url, "text/html", "utf-8", null) + } + } } -- Gitblit v1.7.1