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

无法传递Intent值至下一个Activity,程序崩溃抛Kotlin空指针异常

解决Intent传递Firebase Push ID时的Kotlin空指针异常

你遇到的KotlinNullPointerException核心原因是tokenrequest变量为null——也就是说你从Intent里没有正确获取到之前在Profile Activity中传递的Push ID值。下面是一步步的排查和解决方法:

1. 先确认Intent传递环节的正确性

首先检查Profile Activity中启动Verification Activity的代码是否完整且正确:

  • 确保你在启动Intent之前已经正确获取到Push ID,并且调用了putExtra传递参数:
// Profile Activity中的代码示例
val userId = FirebaseAuth.getInstance().currentUser!!.uid
val mDatabaseReference = FirebaseDatabase.getInstance().reference.child("Tokens").child(userId).push()
val tokenID = mDatabaseReference.key!!
Log.d("Profile", "要传递的Push ID: $tokenID") // 确认这里日志能输出正确的ID

// 启动Verification Activity
val intent = Intent(this, Verification::class.java)
intent.putExtra(Profile.TOKENID, tokenID) // 确保TOKENID常量是全局一致的
startActivity(intent)
  • 检查companion object中定义的TOKENID常量,确保Profile和Verification中引用的是同一个值,比如:
// Profile Activity中的companion object
companion object {
    const val TOKENID = "USER_TOKEN_ID" // 注意拼写、大小写完全一致
}

别出现拼写错误或者大小写不一致的情况,这是Intent传值失败的常见原因。

2. 优化接收Intent值的逻辑,避免强制非空崩溃

在Verification Activity中,不要直接用!!强制非空,先做空判断,提前处理异常情况:

// Verification Activity的onCreate中
val tokenreq = intent.getStringExtra(Profile.TOKENID)

// 先检查是否为空,避免后续崩溃
if (tokenreq.isNullOrEmpty()) {
    Toast.makeText(this, "无法获取验证信息,请返回重试", Toast.LENGTH_SHORT).show()
    finish() // 直接关闭当前页面,避免执行后续逻辑
    return
}

// 之后再正常使用tokenreq
Log.d("Verification", "收到的Push ID: $tokenreq")

3. 排查接收环节的日志

在Verification Activity的onCreate方法中先打印日志,确认是否真的收到了参数:

val receivedToken = intent.getStringExtra(Profile.TOKENID)
Log.d("Verification", "Intent中获取的token: $receivedToken")

如果日志显示null,说明传递环节出了问题;如果能显示正确的ID,那就是后续代码中tokenrequest变量被意外重置了。

4. 补充:Firebase节点访问的逻辑验证

等你解决了Intent传值的问题后,还要确保你已经在Profile Activity中把数据正确写入到那个Push节点里了,比如:

// Profile中写入数据到Push节点
val tokenData = hashMapOf(
    "tokenid" to "你的验证码",
    // 其他字段
)
mDatabaseReference.setValue(tokenData)

这样Verification Activity中通过child(tokenreq)才能获取到有效数据。


内容的提问来源于stack exchange,提问作者Srikanth G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:27:30