Broadcast Receiver для ACTION_MEDIA_BUTTON не вызывает метод onReceive и не отслеживается, когда musi c воспроизводится другим приложением - PullRequest
0 голосов
/ 04 мая 2020

Любой может помочь определить, воспроизводится ли песня каким-либо приложением, и узнать, когда musi c играет или делает паузу .?

Я уже попробовал мой код здесь ...

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)) {
        return;
    }
    KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
    if (event == null) {
        return;
    }
    int action = event.getAction();
    if (action == KeyEvent.ACTION_DOWN) {
        // do something
        Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
    }
    abortBroadcast();
  }
}

Файл манифеста

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

Моя деятельность

IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
    MediaButtonIntentReceiver r = new MediaButtonIntentReceiver();
    filter.setPriority(1000);
    registerReceiver(r, filter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...