Я работаю над фоновым сервисом, где я обновляю один Arraylist в службе, из Arraylist я получаю индекс и играю песни.Почему сервисное соединение не вызывается в onResume?
Так что теперь проблема в том, что если я намерен на другую деятельность и внутри этой деятельности, я обновляю Arraylist до службы, но когда я заканчиваю деятельность и возвращаюсь в MainActivity, это не обновляет Arraylist.
Я использую realm arraylist для хранения данных.
@Override
protected void onStart() {
super.onStart();
songConnection();
if (playIntent == null) {
playIntent = new Intent(this, MusicService.class);
bindService(playIntent, musicServiceConn, Context.BIND_AUTO_CREATE);
startService(playIntent);
}
}
@Override
protected void onResume() {
super.onResume();
songConnection();
}
public void songConnection() {
musicServiceConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicService.MusicBinder binder = (MusicService.MusicBinder) service;
musicSrv = binder.getService();
musicSrv.setList(musicRealmResults);
musicBound = true;
}
@Override
public void onServiceDisconnected(ComponentName name) {
musicBound = false;
}
};
}
Здесь musicRealmResults - это Realm Arraylist.
В Albums.java
musicRealmResults = realm.where(Music.class).equalTo("albums", albums).findAllSorted("albums", Sort.ASCENDING);
В MainActivity.java
musicRealmResults = realm.where(Music.class).findAll();
Так как в деятельности Список_массивов размер будет отличаться и согласно размеру он должен обновить до службы.
Так что, пожалуйста, скажите, почему он не обновляется в onResume, когда завершается работа.
Пожалуйста, пройдите через мое сообщение и предложите мне какое-нибудь решение.
Вы не зашли на сайт в SongConnection() – Jois
Предоставьте еще несколько кодов. Где вы начинаете/инициализируете свой сервис? –
musicSrv.setList (musicRealmResults); откуда берутся musicRealmResults? Обновляется ли он, когда вы возвращаетесь к своей предыдущей деятельности? –