Activity无法启动但Toast正常执行,请求技术排查协助
应用异常排查:Toast正常但目标Activity无法启动
问题描述
近期应用出现异常:点击按钮后Toast.makeText已正常执行,但目标Neues_Protokoll Activity却无法启动。附上相关代码与错误日志,请求技术支持。
相关代码(MainActivity按钮点击事件)
btn_new.setOnClickListener(view -> { Toast.makeText(context, new_txt, duration).show(); startActivity(new Intent(MainActivity.this, Neues_Protokoll.class)); String Bauvorhaben = bauvorhaben.getText().toString(); String Abschnitt = abschnitt.getText().toString(); Intent intent = new Intent(this, MainActivity.class); intent.putExtra("Bauvorhaben", Bauvorhaben); intent.putExtra("Abschnitt", Abschnitt); startActivity(intent); });
错误日志(中文翻译版)
2022-11-15 17:20:52.141 25974-25974/com.example.jasinskibdv W/MirrorManager: 该设备型号不支持 2022-11-15 17:20:52.226 25974-25974/com.example.jasinskibdv D/CompatibilityChangeReporter: 报告兼容性变更ID:147798919;UID 10045;状态:已启用 2022-11-15 17:20:52.277 25974-25974/com.example.jasinskibdv D/DecorView[]: 从系统获取窗口模式,窗口模式为1 2022-11-15 17:20:52.831 25974-26003/com.example.jasinskibdv D/OpenGLRenderer: 在0xb40000786faf3200(RippleDrawable)上结束所有活跃动画,句柄为0xb40000786fb01200 2022-11-15 17:21:21.414 25974-25989/com.example.jasinskibdv W/System: 资源未调用close方法
问题分析与解决方案
核心问题原因:
按钮点击事件中,先调用startActivity启动Neues_ProtokollActivity,但紧接着又调用startActivity重新启动了MainActivity。这会导致Neues_Protokoll刚启动就被立即切回MainActivity,视觉上看起来目标Activity没有启动。错误日志说明:
日志中的警告均为无关信息,比如设备不支持镜像、资源未关闭等,都不是导致Activity无法启动的原因。解决方案:
- 若需求是将
Bauvorhaben和Abschnitt参数传递给Neues_Protokoll,修改代码将参数放入启动Neues_Protokoll的Intent中:btn_new.setOnClickListener(view -> { Toast.makeText(context, new_txt, duration).show(); String Bauvorhaben = bauvorhaben.getText().toString(); String Abschnitt = abschnitt.getText().toString(); Intent intent = new Intent(MainActivity.this, Neues_Protokoll.class); intent.putExtra("Bauvorhaben", Bauvorhaben); intent.putExtra("Abschnitt", Abschnitt); startActivity(intent); }); - 若确实需要重启
MainActivity,请调整逻辑顺序或添加延迟,避免覆盖目标Activity的启动操作。
- 若需求是将
内容的提问来源于stack exchange,提问作者Fischer Fritz
相关产品推荐
相关产品推荐

