ClassCastException:android.os.Handler $ MessengerImpl无法强制转换为My

时间:2014-03-06 09:50:21

标签: android android-service classcastexception android-handler android-binder

我在handler

中声明了service
final Messenger messenger = new Messenger(new MusicAPIControlHandler());

public class MusicPlayerBinder extends Binder {
    public MusicPlayerService getService() {
        return MusicPlayerService.this;
    }
}

@Override
public IBinder onBind(Intent intent) {
    return messenger.getBinder();
}

public class MusicAPIControlHandler extends Handler {

    @Override
    public void handleMessage(Message msg) {
        //
    }
}

在我的实现ServiceConnection并绑定service的类中,我执行以下操作:

@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
    handler = (MusicPlayerService.MusicAPIControlHandler) iBinder;

}

我的问题是,当我尝试将绑定器转换为ClassCastException时,我得到了一个handler,它实际上应该是它的一个实例,因为它设置为信使的绑定器

我哪里错了?

我没有将我的服务声明为流程

0 个答案:

没有答案