Я создаю музыкальный плеер, и мне нужно добавить поисковую панель для песен. Я проверил онлайн, но большинство результатов для медиаплеера, который находится в действии, а не в сервисе. Я новичок в использовании медиа-плеера, поэтому любые подробные результаты будут очень признательны.Обновление прошивки от службы
ответ
Вы можете использовать широковещательный приемник для передачи данных из службы в действие.
Добавить метод ниже в Сервис и вызвать этот метод всякий раз, когда вы хотите обновить SeekBar
.
public static void publishResult(Context context, int percentage){
Intent intent = new Intent("Broadcast");
intent.putExtra("INTENT_TYPE", "SEEKBAR_RESULT");
intent.putExtra("PERCENTAGE", 10);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
В действии Добавить следующий код Для получения широковещательных сообщений.
@Override
public void onResume() {
super.onResume();
//Register Broadcast receiver
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(mBroadcastReceiver, new IntentFilter("Broadcast"));
}
@Override
public void onPause() {
super.onPause();
//Unregister Broadcast receiver
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mBroadcastReceiver);
}
private BroadcastReceiver mBroadcastReceiver= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String intentType = intent.getStringExtra("INTENT_TYPE");
if(intentType.equalsIgnoreCase("SEEKBAR_RESULT")){
int percentage = intent.getIntExtra("PERCENTAGE");
}
}
};
Более подробно на LocalBroadcastManager см: http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html
Как насчет того, что активность не находится на переднем плане? Как обновление поисковой строки в правильное положение при возобновлении деятельности? –
@AlexKombo это правильный вопрос. Вы можете сохранить результат в переменной Application Global или в Shared-preference и в методе Resume, который вы можете обновить. А для работы переднего плана вы можете использовать широковещательный приемник для обновления Seekbar. –
Я получил его на работу. Большое спасибо!! –
вы знакомы с "связанных услуг"? это хороший пример, когда вы можете использовать шаблон «привязанной локальной службы» – pskink
Я читал об этом и пробовал несколько реализаций, но я не получил его на работу. –
Вы попробовали шаблон «связанный местный сервис»? – pskink