У меня странная проблема, и я не знаю, как ее решить. Я хочу получить соединение с моим запущенным сервисом. я сделать этот внутренний класс с методом:Невозможно отправить на службу
public class PlayMusicServiceBinder extends Binder{
public PlayMusicService getService(){
return PlayMusicService.this;
}
}
Затем я запустить службу и создать соединение с ним:
private PlayMusicService pms
startService(playServiceIntent.putExtra("songs", songs).putExtra("currentPosition", currentPosition).putExtra("path", path));
serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
pms = ((PlayMusicService.PlayMusicServiceBinder)service).getService();
}
@Override
public void onServiceDisconnected(ComponentName name) {
pms = null;
}
};
onBind();
onBind():
public void onBind(){
this.bindService(new Intent(this, PlayMusicService.class),serviceConnection, Context.BIND_AUTO_CREATE);
}
И компилятор сказать по этой линии pms = ((PlayMusicService.PlayMusicServiceBinder)service).getService();
, что: «Невозможно лить»
Я видел много примеры, когда такие действия были проведены, и никто не жаловался на ошибки
Помогите мне пожалуйста.
Спасибо.
Похоже, вы пытаетесь отправить службу в связующее. Правильно ли я это прочитал? – duffymo
Binder на службу, я думаю – DZordered
Является ли Binder типом обслуживания? Если нет, тогда вы не можете наложить ссылку на службу. Это классический OO IS-A. – duffymo