[英]Can't cast to service
我有一個奇怪的問題,我不知道如何解決它。 我想從運行的服務獲得連接。 我用方法使這個內部類:
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();
,即:“無法投放”
我已經看到了許多執行此類操作的示例,沒有人抱怨這些錯誤。
請幫幫我。
謝謝。
您是否在PlayMusicService類中添加了此代碼?
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
private final IBinder mBinder = new PlayMusicServiceBinder();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.