У меня есть следующий код внутри метода onCreate класса обслуживания AudioPlayerService. java
for (Samples.Sample sample : SAMPLES) {
MediaSource mediaSource = new ExtractorMediaSource.Factory(cacheDataSourceFactory)
.createMediaSource(sample.uri);
concatenatingMediaSource.addMediaSource(mediaSource);
}
player.prepare(concatenatingMediaSource);
player.setPlayWhenReady(true);
Этот класс обслуживания связан с MainActivity.
Intent intent = new Intent(this, AudioPlayerService.class);
Util.startForegroundService(this, intent);
И класс MainActivity имеет listview
ListView listView = findViewById(R.id.list_view);
listView.setAdapter(
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, SAMPLES));
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ProgressiveDownloadAction action = new ProgressiveDownloadAction(
SAMPLES[position].uri, false, null, null);
AudioDownloadService.startWithAction(
MainActivity.this,
AudioDownloadService.class,
action,
false);
}
});
Теперь я хочу указать классу обслуживания воспроизводить определенный элемент списка для воспроизведения при щелчке элемента в списке. Я подумал об использовании намерения для передачи данных между активностью и службой. Но я не мог эффективно общаться, потому что метод onCreate класса обслуживания не получает данные, так как он не может обрабатывать намерение.
Пожалуйста, помогите. Заранее спасибо.