我有一个发送意图的意图服务,像这样:
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方法被忽略了。我尝试了一切,但无济于事。
答案 0 :(得分:1)
intent.putExtra("MODE", "testing");
应该是
result.putExtra("MODE", "testing");