Android 媒体按钮接收器

Android 媒体按钮接收器,android,broadcastreceiver,android-mediaplayer,Android,Broadcastreceiver,Android Mediaplayer,我对以下获取媒体按钮操作的代码有问题 类MediaButtonEntreceiver: import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.view.KeyEvent; public class MediaButtonIntentReceiver extend

我对以下获取媒体按钮操作的代码有问题

类MediaButtonEntreceiver:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.KeyEvent;

public class MediaButtonIntentReceiver extends BroadcastReceiver {

public MediaButtonIntentReceiver() {
    super();
}

@Override
public void onReceive(Context context, Intent intent) {
    String intentAction = intent.getAction();
    if (Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
        KeyEvent event = (KeyEvent) intent
                .getParcelableExtra(Intent.EXTRA_KEY_EVENT);
        int action = event.getAction();
        if (action == KeyEvent.ACTION_DOWN) {
            Log.i("ok", "media button pressed");
        }

    }

    if (isOrderedBroadcast()) {
        abortBroadcast();
    }
}
}
我的主要观点是:

MediaButtonIntentReceiver mMediaButtonReceiver = new MediaButtonIntentReceiver();
IntentFilter mediaFilter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
mediaFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
registerReceiver(mMediaButtonReceiver, mediaFilter);
这是我舱单上的接收人

<receiver android:name="ch.bono88.Ederly.MediaButtonIntentReceiver">
     <intent-filter>
          <action android:name="android.intent.action.MEDIA_BUTTON"/>
     </intent-filter>
</receiver>

您需要检查MediaButtonEntreceiver源中的哪一行26。我只能间接地得出结论,您需要检查事件是否为null,因为它可以为null。

您的
getSomething
函数之一正在返回null,请使用调试器或识别第26行以查看哪一个。您的意图不包含您假设的某些数据。
java.lang.RuntimeException: Unable to start receiver ch.bono88.Ederly.MediaButtonIntentReceiver: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at ch.bono88.Ederly.MediaButtonIntentReceiver.onReceive(MediaButtonIntentReceiver.java:26)