pull/1395/head
gedoor 3 years ago
parent 5850e92628
commit d729043e43
  1. 4
      app/src/main/java/io/legado/app/constant/AppConst.kt
  2. 28
      app/src/main/java/io/legado/app/help/CrashHandler.kt

@ -1,6 +1,7 @@
package io.legado.app.constant package io.legado.app.constant
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.pm.PackageManager
import android.provider.Settings import android.provider.Settings
import io.legado.app.BuildConfig import io.legado.app.BuildConfig
import io.legado.app.R import io.legado.app.R
@ -84,7 +85,8 @@ object AppConst {
val appInfo: AppInfo by lazy { val appInfo: AppInfo by lazy {
val appInfo = AppInfo() val appInfo = AppInfo()
appCtx.packageManager.getPackageInfo(appCtx.packageName, 0)?.let { appCtx.packageManager.getPackageInfo(appCtx.packageName, PackageManager.GET_ACTIVITIES)
?.let {
appInfo.versionName = it.versionName appInfo.versionName = it.versionName
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
appInfo.versionCode = it.longVersionCode appInfo.versionCode = it.longVersionCode

@ -2,9 +2,9 @@ package io.legado.app.help
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.pm.PackageManager
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import io.legado.app.constant.AppConst
import io.legado.app.model.ReadAloud import io.legado.app.model.ReadAloud
import io.legado.app.utils.FileUtils import io.legado.app.utils.FileUtils
import io.legado.app.utils.longToastOnUi import io.legado.app.utils.longToastOnUi
@ -70,26 +70,14 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler {
* 收集设备参数信息 * 收集设备参数信息
*/ */
private fun collectDeviceInfo(ctx: Context) { private fun collectDeviceInfo(ctx: Context) {
//获取versionName,versionCode
kotlin.runCatching { kotlin.runCatching {
val pm = ctx.packageManager //获取系统信息
val pi = pm.getPackageInfo(ctx.packageName, PackageManager.GET_ACTIVITIES) paramsMap["MANUFACTURER"] = Build.MANUFACTURER
if (pi != null) { paramsMap["BRAND"] = Build.BRAND
val versionName = if (pi.versionName == null) "null" else pi.versionName //获取app版本信息
val versionCode = pi.versionCode.toString() + "" AppConst.appInfo.let {
paramsMap["versionName"] = versionName paramsMap["versionName"] = it.versionName
paramsMap["versionCode"] = versionCode paramsMap["versionCode"] = it.versionCode.toString()
}
}
//获取所有系统信息
val fields = Build::class.java.declaredFields
kotlin.runCatching {
for (field in fields) {
field.isAccessible = true
field.get(null)?.toString()?.let {
paramsMap[field.name] = it
}
} }
} }
} }

Loading…
Cancel
Save