From bee2d6cacc7ff3af682897eee1eac4720f5e1b8d Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期六, 08 二月 2025 18:15:37 +0800 Subject: [PATCH] 新增功能开发完成 --- app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt index ebf80a3..65a92b0 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt @@ -17,6 +17,7 @@ import com.sinata.xqmuse.MainActivity import com.sinata.xqmuse.R import com.sinata.xqmuse.XQApplication +import com.sinata.xqmuse.dialog.TipDialog import com.sinata.xqmuse.dialog.UserRuleDialog import com.sinata.xqmuse.network.Apis import com.sinata.xqmuse.network.HttpManager @@ -24,7 +25,9 @@ import com.sinata.xqmuse.utils.Const import com.umeng.commonsdk.UMConfigure import kotlinx.android.synthetic.main.activity_splash.* +import org.jetbrains.anko.browse import org.jetbrains.anko.startActivity +import org.jetbrains.anko.toast import java.io.ByteArrayInputStream import java.security.cert.CertificateException import java.security.cert.CertificateFactory @@ -61,7 +64,7 @@ if (SPUtils.instance().getBoolean(Const.User.IS_AGREE)){ AMapLocationClient.updatePrivacyShow(this,true,true) AMapLocationClient.updatePrivacyAgree(this,true) - startNext() + checkNewVersion() }else{ getAgreement() } @@ -93,7 +96,7 @@ AMapLocationClient.updatePrivacyShow(this@SplashActivity,true,true) AMapLocationClient.updatePrivacyAgree(this@SplashActivity,true) } else - startNext() + checkNewVersion() } }) userRuleDialog.show(supportFragmentManager, "rule") @@ -163,11 +166,52 @@ } } + /** + * 检查更新 + */ + private fun checkNewVersion() { + HttpManager.detailVersion().request(this,success = {_,data-> + if (data?.versionNo.isNullOrEmpty()||data!!.versionNo <= getAppVersion(this)?:"") //已经是新版本 + startNext() + else if (data.versionNo == SPUtils.instance().getString(Const.IGNORE_VERSION)){ //已手动跳过当前版本 + startNext() + }else + TipDialog.show(supportFragmentManager,data.remark,object : TipDialog.OnClickCallback{ + override fun onOk() { + browse(data.androidFile) + finish() + } + + override fun onCancel() { + SPUtils.instance().put(Const.IGNORE_VERSION,data?.versionNo).apply() + startNext() + } + },"立即更新","下次再说",false,"有新版本啦!") + }){_,_-> + startNext() + } + } + + /** + * 获取版本号 + * @return 当前应用的版本号 + */ + private fun getAppVersion(context: Context): String? { + return try { + val manager = context.packageManager + val info = manager.getPackageInfo(context.packageName, 0) + info.versionName + } catch (e: Exception) { + e.printStackTrace() + "null" + } + } + /*** * 跳转下一步 */ private fun gotoMainOrLogin(){ - object : CountDownTimer(2000, 500) { + object : CountDownTimer(1500, 500) { override fun onFinish() { startActivity<MainActivity>("code" to code) finish() -- Gitblit v1.7.1