Итак, я пытаюсь определить имя исполнителя и название песни, которая в данный момент воспроизводится на телефоне пользователя, но при включении музыки ресивер никак не реагирует. И когда я пытаюсь получить значение из 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>