|
@@ -2,9 +2,14 @@ package com.example.chemical.ui
|
|
|
|
|
|
import android.Manifest
|
|
|
import android.app.AlertDialog
|
|
|
+import android.content.Intent
|
|
|
+import android.net.Uri
|
|
|
+import android.os.Build
|
|
|
import android.os.Bundle
|
|
|
import android.os.Handler
|
|
|
+import android.util.Log
|
|
|
import android.view.LayoutInflater
|
|
|
+import androidx.core.content.FileProvider
|
|
|
import com.example.chemical.BuildConfig
|
|
|
import com.example.chemical.ChemicalApp
|
|
|
import com.example.chemical.comm.Constants
|
|
@@ -12,6 +17,7 @@ import com.example.chemical.databinding.ActivitySplashBinding
|
|
|
import com.example.chemical.utils.NetworkUtils
|
|
|
import com.example.chemical.utils.SharedPreferencesHelper
|
|
|
import com.example.chemical.utils.UiManager
|
|
|
+import com.google.gson.Gson
|
|
|
import com.lztek.toolkit.Lztek
|
|
|
import com.rc.core.log.RcLog
|
|
|
import com.rc.core.ui.activity.RcBaseActivity
|
|
@@ -20,6 +26,7 @@ import com.rc.core.util.DeviceUtils
|
|
|
import com.rc.httpcore.HttpConfig
|
|
|
import com.rc.httpcore.client.ApiRepository
|
|
|
import com.tbruyelle.rxpermissions2.RxPermissions
|
|
|
+import java.io.File
|
|
|
|
|
|
class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
|
|
|
|
|
@@ -136,6 +143,7 @@ class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
|
|
|
// }
|
|
|
|
|
|
private fun queryAppVersion() {
|
|
|
+ // TODO 安装并重启本应用
|
|
|
showLoading("版本检测中...")
|
|
|
val toDouble = DeviceUtils.getVersionName(this)//获取当前版本号
|
|
|
|
|
@@ -163,9 +171,11 @@ class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
|
|
|
//同步进行更新
|
|
|
upDownloadManager(data!!.appInfo!!.remark)
|
|
|
}
|
|
|
+
|
|
|
data!!.appInfo!!.url != null -> {
|
|
|
upDownloadManager(data.appInfo!!.url)
|
|
|
}
|
|
|
+
|
|
|
else -> {
|
|
|
// 启动定时任务
|
|
|
try {
|
|
@@ -276,6 +286,30 @@ class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
|
|
|
myHandler.stop()
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 安装应用并唤起该应用
|
|
|
+ */
|
|
|
+ private fun installApk(apkFile: File) {
|
|
|
+ val intent = Intent(Intent.ACTION_VIEW)
|
|
|
+ if (Build.VERSION.SDK_INT >= 24) {
|
|
|
+ // 与AndroidManifest.xml中的authorities配置一致
|
|
|
+ val authority =
|
|
|
+ BuildConfig.APPLICATION_ID + ".fileprovider"
|
|
|
+ intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
|
|
+ val uri = FileProvider.getUriForFile(this@SplashActivity, authority, apkFile)
|
|
|
+ intent.setDataAndType(uri, "application/vnd.android.package-archive")
|
|
|
+ // 如果需要新任务(Intent.FLAG_ACTIVITY_NEW_TASK),需加uri授权处理
|
|
|
+ // grantUriPermission(getApplicationContext(), uri, intent);
|
|
|
+ } else {
|
|
|
+ val uri = Uri.fromFile(apkFile)
|
|
|
+ intent.setDataAndType(uri, "application/vnd.android.package-archive")
|
|
|
+ }
|
|
|
+ intent.putExtra("IMPLUS_INSTALL", "SILENT_INSTALL")
|
|
|
+ // 如果需要新任务
|
|
|
+ // intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
+ startActivity(intent)
|
|
|
+ finish()
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|