2012-06-13 2 views
0

В моем приложении отображаются музыкальные метаданные, если музыка воспроизводится в фоновом режиме. В устройстве ICS, даже после запуска приложения вручную, широковещательный приемник не зарегистрирован. Он отлично подходит для версий ниже. Я добавил часть моего кода ниже, хочу ли я добавить какое-либо действие в файл manifext?Broadcastreceiver не прослушивает даже после запуска приложений в ICS

IntentFilter iF = new IntentFilter(); 
// Android Stock Music App/Google Play Music App 
iF.addAction("com.miui.player.metachanged"); 
// HTC music player`enter code here` 
iF.addAction("com.htc.music.metachanged"); 
// WinAmp 
iF.addAction("com.nullsoft.winamp.metachanged"); 
// Samsung Music App 
iF.addAction("com.sec.android.app.music.metachanged"); 
registerReceiver(mReceiver, iF); 

private BroadcastReceiver mReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      String track =intent.getStringExtra("track"); 
    }; 
} 

ответ

0

Код, который вы предоставили, работает, но ему нужна деятельность (вы используете активность). На Android 3.1+ приложение устанавливается в состояние «остановлено». В то время как в этом состоянии никакой BroadcastReceiver не будет работать, пока пользователь не начнет вручную запуск приложения из приложения. Приложение вернется в это состояние «остановлено», если пользователь принудительно остановит приложение из «Настройки».

Итак, добавьте активность в свой проект, запустите его один раз, а затем посмотрите, работает ли ваш ресивер. В противном случае попробуйте зарегистрировать широковещательный приемник в файле манифеста.

Надеюсь, что описание работает для вас.

+0

Код внутри активности, я пробовал с регистрацией в манифесте, оба не работают. Я могу получить метаданные, если какое-либо действие выполняется на музыкальном проигрывателе, например, следующее, превью, остановка, но я хочу получить данные, пока игра – user1452764

+0

Вы пытаетесь создать свой собственный виджет для показа подробностей песни – MobileEvangelist

+0

Если вы пытаетесь это сделать, то имейте в виду, Музыкальные виджеты предназначены для интеграции с определенным игроком, и вы не можете сделать свой собственный виджет легко интегрироваться с другим медиаплеером. – MobileEvangelist

Смежные вопросы