我對Android非常陌生,我正在創建一個音樂播放器。 我對MediaSession不熟悉,現在我有一個運行正常的音樂播放器,但它不支持對耳機單擊或響應呼叫時暫停。Android MediaSession對耳機沒有反應
這是我的代碼:
ComponentName mediaButtonReceiver = new ComponentName(context, MusicPlayerNotificationReceiver.class);
final MediaSessionCompat mediaSession = new MediaSessionCompat(context, "Start MP", mediaButtonReceiver, null);
mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
LockerActivity.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
mediaSession.setCallback(MusicPlayer.this);
}
});
mediaSession.setActive(true);
我也有與此動作
這是我所有的代碼ralated到MediaSession
定義的BroadcastReceiver
。 所以,現在,我只是試圖從耳機得到通知。我在onReceive()
的第一行有一個斷點,我點擊耳機上的按鈕,沒有任何反應。如果我長時間點擊按鈕比android進入聆聽模式的講話說明。
我還需要什麼?
嘗試爲MusicPlayerNotificationReceiver類創建顯式廣播PendingIntent,並將其作爲MediaSessionCompat構造函數中的第四個參數傳遞。 –
@MikeM。沒有工作。 – SnapDragon
您確定Receiver在清單中正確列出;正確的拼寫,正確的文件夾等? –