2016-05-18 31 views
0

我在我的服務,使這些代碼:我怎麼能接收廣播媒體按鈕

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction("android.intent.action.MEDIA_BUTTON"); 
intentFilter.setPriority(2147483647); 
registerReceiver(broadcastReceiver,intentFilter); 

這就是接收機

public BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      playNext(); // play the next music 
     } 
    }; 

但我從來沒有接收器的廣播,我不知道爲什麼。 每次我耳機上的挖掘時,下面將顯示

I/MediaButtonIntentReceiver:處理動作:android.intent.action.MEDIA_BUTTON I/MediaButtonIntentReceiver:動作= 1,repeatCount = 0,命令= togglepause,鍵碼= KEYCODE_HEADSETHOOK

Rocco是對的。

回答

0

您可能需要獲得許可:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
+0

它仍然沒有按」 t工作,當我點擊我的耳機時,它會顯示I/MediaPlaybackService:handleIntent = com.miui.player.musicservicecommand,cmd = togglepause I/MediaPlaybackService:Nothing play –

+0

有時我可以成功,但只有一次, t工作了一段時間。 –

+0

你說得對,我解決了這個問題。非常感謝你。 –

0

,如果你在你的類不止一個reciever: 您註冊「廣播接收器」,但將其命名爲「broadcastReceiver1 *」

+0

我的錯,我的代碼是broadcastReceiver1,但是爲了讓我們看看的原因,我將其更改爲broadcastReceiver。我忘記改變它。 –