BroadCastReceiver не может получить информацию о проигрывании текущей песни - PullRequest
0 голосов
/ 21 апреля 2019

Итак, я пытаюсь определить имя исполнителя и название песни, которая в данный момент воспроизводится на телефоне пользователя, но при включении музыки ресивер никак не реагирует. И когда я пытаюсь получить значение из sharedPreferenses под ключом «текущий», всегда есть значение по умолчанию. Использование стандартного музыкального плеера.

Это мой приемник

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

public class BroadCastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        String cmd = intent.getStringExtra("command");
        String artist = intent.getStringExtra("artist");
        String album = intent.getStringExtra("album");
        String track = intent.getStringExtra("track");
        SharedPreferences ss = context.getSharedPreferences("current", Context.MODE_PRIVATE);
        String hs = track+"\n"+artist;
        SharedPreferences.Editor edit = ss.edit();
        edit.clear();
        edit.putString("current",hs);
        edit.commit();
    }
}

Мой манифест

<receiver
            android:name=".BroadCastReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.music.metachanged"/>
                <action android:name="com.android.music.playstatechanged"/>
                <action android:name="com.android.music.playbackcomplete"/>
            </intent-filter>
        </receiver>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...