【问题标题】:null pointer exception on getStringExtra [closed]getStringExtra 上的空指针异常 [关闭]
【发布时间】:2018-11-21 16:42:52
【问题描述】:

我有一个发送意图的意图服务,如下所示:

Intent result = new Intent("TEST_RESULT");
result.putExtra("MODE", "testing");
sendBroadcast(result);

在另一个应用程序中,意图被广播接收器捕获,如下所示:

接收者注册:

IntentFilter testResultIntentFilter = new IntentFilter("TEST_RESULT");
TestResultReceiver receiver = new TestResultReceiver();
this.registerReceiver(receiver,testResultIntentFilter);

接收器中的onReceive方法:

@Override
public void onReceive(Context context, Intent intent) {
    String message = intent.getStringExtra("MODE");
    Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}

此代码在 getStringExtra 调用上失败并出现空指针异常,就好像 putExtra 方法被忽略了一样。我尝试了所有方法,但没有任何效果。

【问题讨论】:

  • Intent result = new Intent 然后intent.putStri。是错字还是您有多种意图?
  • 请提供完整的堆栈跟踪。 getStringExtra() 行真的不可能抛出 NPE。 Intent 不能为 null,如果没有带有该键的 String 额外内容,getStringExtra()返回 null,但它不会在那里抛出 NPE。
  • 解决了这个问题?

标签: android android-intent broadcastreceiver android-intentservice


【解决方案1】:
intent.putExtra("MODE", "testing");

应该是

result.putExtra("MODE", "testing");

【讨论】:

  • 对不起,我写错了问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 2020-06-21
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多