2016-05-18 10 views
0

ich diese Codes in meinem Dienst machen:wie kann ich die Medientaste Sendung erhalten

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

Und das ist der Receiver

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

Aber ich Empfänger nie die Sendung, ich weiß nicht, warum . Und ich jedes Mal auf dem Headset tippen, wird die unter

zeigen I/MediaButtonIntentReceiver: Griff Aktion: android.intent.action.MEDIA_BUTTON I/MediaButtonIntentReceiver: action = 1, repeat = 0, command = togglePause, keycode = KEYCODE_HEADSETHOOK

Rocco hat Recht.

Antwort

0

Sie können die Erlaubnis erhalten, müssen:

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

es noch doesn‘ Ich arbeite, wenn ich auf mein Headset klicke, wird I/MediaPlaybackService angezeigt: handleIntent = com.miui.player.musicservicecommand, cmd = togglepause I/MediaPlaybackService: Nichts zu spielen –

+0

Manchmal kann ich Erfolg haben, aber nur einmal, und das tut es nicht t arbeiten für eine Weile. –

+0

Sie haben Recht, ich löse dieses Problem. Vielen Dank. –

0

, wenn Sie mehr als einen Empfänger in der Klasse haben: Sie sich registrieren "broadcastReceiver", aber es "broadcastReceiver1 *" genannt

+0

meine Schuld, mein Code ist BroadcastReceiver1, aber aus dem Grund, um uns sehen zu lassen, ändere ich es zu BroadcastReceiver. Ich vergesse es zu ändern. –

Verwandte Themen