mirror of
https://github.com/KitsunePie/AppErrorsTracking.git
synced 2025-09-01 16:55:18 +08:00
Changed context is Activity not use Intent.FLAG_ACTIVITY_NEW_TASK and added isOutSide function
This commit is contained in:
@@ -277,7 +277,7 @@ object FrameworkHooker : YukiBaseHooker() {
|
||||
val errorDetailButton =
|
||||
createButtonItem(context, R.drawable.ic_baseline_bug_report, string(R.string.error_detail)) {
|
||||
cancel()
|
||||
lastAppErrorsInfo(packageName)?.let { AppErrorsDetailActivity.start(context, it) }
|
||||
lastAppErrorsInfo(packageName)?.let { AppErrorsDetailActivity.start(context, it, isOutSide = true) }
|
||||
?: context.toast(msg = "Invalid AppErrorsInfo")
|
||||
}
|
||||
|
||||
|
@@ -50,12 +50,13 @@ class AppErrorsDetailActivity : BaseActivity<ActivityAppErrorsDetailBinding>() {
|
||||
* 启动 [AppErrorsDetailActivity]
|
||||
* @param context 实例
|
||||
* @param appErrorsInfo 应用异常信息
|
||||
* @param isOutSide 是否从外部启动
|
||||
*/
|
||||
fun start(context: Context, appErrorsInfo: AppErrorsInfoBean) {
|
||||
fun start(context: Context, appErrorsInfo: AppErrorsInfoBean, isOutSide: Boolean = false) {
|
||||
runCatching {
|
||||
context.startActivity(Intent().apply {
|
||||
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
component = ComponentName(BuildConfig.APPLICATION_ID, AppErrorsDetailActivity::class.java.name)
|
||||
context.startActivity((if (isOutSide) Intent() else Intent(context, AppErrorsDetailActivity::class.java)).apply {
|
||||
if (context !is Activity) flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
if (isOutSide) component = ComponentName(BuildConfig.APPLICATION_ID, AppErrorsDetailActivity::class.java.name)
|
||||
putExtra(FrameworkHooker.APP_ERRORS_INFO, appErrorsInfo)
|
||||
})
|
||||
}.onFailure { context.toast(msg = "Start AppErrorsDetailActivity failed") }
|
||||
|
Reference in New Issue
Block a user