You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用尝试从Intent获取数据时崩溃问题求助

崩溃原因定位

从报错栈信息可以直接定位崩溃发生在MainActivity的onClick方法内的Toast调用逻辑,和Intent传参无关,具体根因如下:

  • Toast.makeText方法存在两个常用重载:
    • 重载1:makeText(Context context, int resId, int duration) 接收int类型的字符串资源ID作为展示内容
    • 重载2:makeText(Context context, CharSequence text, int duration) 接收字符串作为展示内容
  • 你的代码中直接把int类型的变量val(取值1/2/3)传给了Toast.makeText,系统会默认匹配第一个重载,把1/2/3当成字符串资源ID去查找,而项目中不存在ID为1/2/3的字符串资源,因此抛出Resources$NotFoundException导致崩溃。
  • 另外你代码中openActivity2方法内的intent1.putExtra(isc, val)存在语法问题,isc未作为变量声明,会直接导致编译失败。
修复方案
  1. 修复Toast调用逻辑,将int值转成字符串后再传入:
// 原来的错误代码
// Toast.makeText(MainActivity.this, val, Toast.LENGTH_SHORT).show();
// 替换为以下代码
Toast.makeText(MainActivity.this, String.valueOf(val), Toast.LENGTH_SHORT).show();
  1. 修复putExtra的key参数错误,给字符串key加引号:
// 原来的错误代码
// intent1.putExtra(isc, val);
// 替换为以下代码,isc替换为你实际需要的key字符串
intent1.putExtra("isc", val);

修复完成后应用即可正常跳转,Activity2侧的getIntent逻辑不需要修改,可以正常拿到val参数。

内容的提问来源于stack exchange,提问作者rayan siblani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:54:04