getStringExtra得到NullPointerException(name为null)

时间:2014-03-18 13:21:05

标签: android android-intent

我使用LocalBroadcastManager广播一个意图,我想在这个意图中添加一个额外的字符串。

广播代码:

    Intent intent = new Intent(action);
    intent.putExtra("STRING_I_NEED", strValue);
    LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent(action));

收件人代码:

    IntentFilter filter = new IntentFilter();
    filter.addAction(MusicService.action);
    mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(MusicService.action)) {
                updateUI(intent.getStringExtra("STRING_I_NEED")); // THIS IS THE LINE THAT GIVES ME THE ERROR        
            }
        }
    };
    LocalBroadcastManager.getInstance(getActivity()).registerReceiver(mReceiver, filter);

我收到错误NullPointerException name为null。

我在这里遗漏了什么吗?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

你在这里创建了两个意图..所以一个意图没有任何额外的数据..

所以改变这一行

LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent(action));

LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

答案 1 :(得分:0)

尝试intent.getExtras().getString(key)