diff --git a/app/src/main/java/com/gh/common/util/PackageLauncher.kt b/app/src/main/java/com/gh/common/util/PackageLauncher.kt index b89bc9a084..a621a6bed3 100644 --- a/app/src/main/java/com/gh/common/util/PackageLauncher.kt +++ b/app/src/main/java/com/gh/common/util/PackageLauncher.kt @@ -81,28 +81,11 @@ object PackageLauncher { gameEntity: GameEntity? = null, packageName: String? ) { - if (packageName.isNullOrEmpty()) { ToastUtils.toast("启动失败") return } - // 获取 GameInstall 实体,用于记录启动日志用 - val gameInstall = if (gameEntity != null) { - GameInstall.transformGameInstall(gameEntity, packageName) - } else { - PackagesManager.getInstalledList().find { it.packageName == packageName } - } - - if (gameInstall != null) { - NewFlatLogUtils.logGameLaunch( - gameId = gameInstall.id ?: "unknown", - gameName = gameInstall.name ?: "unknown", - gameCategory = gameInstall.category ?: "unknown", - downloadStatus = if (gameInstall.downloadStatus == "demo") "试玩" else "下载" - ) - } - try { val intent = context.applicationContext.packageManager.getLaunchIntentForPackage(packageName) if (intent != null) { @@ -113,6 +96,26 @@ object PackageLauncher { } catch (e: Exception) { ToastUtils.toast( "启动失败") } + + try { + // 获取 GameInstall 实体,用于记录启动日志用 + val gameInstall = if (gameEntity != null) { + GameInstall.transformGameInstall(gameEntity, packageName) + } else { + PackagesManager.getInstalledList().find { it.packageName == packageName } + } + + if (gameInstall != null) { + NewFlatLogUtils.logGameLaunch( + gameId = gameInstall.id ?: "unknown", + gameName = gameInstall.name ?: "unknown", + gameCategory = gameInstall.category ?: "unknown", + downloadStatus = if (gameInstall.downloadStatus == "demo") "试玩" else "下载" + ) + } + } catch (e: RuntimeException) { + // 都 DeadSystemException 了,还想啥日志上报 + } } } \ No newline at end of file