Hizmette bir Arraylist'i güncellediğim arka plan servisi üzerinde çalışıyorum, Arraylist'ten indeksi alıyorum ve şarkıları çalıyorum.Neden Service Connection onResume'de çağrılmıyor?
Şimdi sorun şu: Başka bir etkinlik için niyetim varsa ve bu etkinlik içinde Arraylist'i hizmete güncelliyorum, ancak etkinliği bitirdiğimde ve Ana Verimliliğe geri döndüğümde Arraylist'i tekrar güncelleştirmiyor.
Verileri depolamak için realm arraylist kullanıyorum.
@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;
}
};
}
İşte müzikRealmResults, Realm Arraylist'tir.
musicRealmResults = realm.where(Music.class).findAll();
MainActivity.java
yılında Albums.javamusicRealmResults = realm.where(Music.class).equalTo("albums", albums).findAllSorted("albums", Sort.ASCENDING);
yılında
Yani hem aktivitesinde Arraylist boyutu farklı olacaktır ve boyuta göre, Hizmet güncellemek gerekir.
Lütfen, etkinlik sona erdiğinde neden onResume'de güncellenmediğini söyleyin.
Lütfen yazıyı gözden geçirin ve bana bir çözüm öner. Böyle
Hizmetinizi hiç başlatmıyorsunuz SongConnection() – Jois
Daha fazla kod sağlayın. Hizmetinizi başlatıyor/başlatıyorsunuz? –
musicSrv.setList (musicRealmResults); musicRealmResults nereden geliyor? Önceki etkinliğinize geri döndüğünüzde güncelleniyor mu? –