После привязки сервиса обратные вызовы не работают

private void bindMyService() {

    conn = new ServiceConnection() {
        @Override
        public void onServiceDisconnected(ComponentName name) {

        }

        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            myservice = ((MyService) service).getService();
            myservice.setCallBack((type, payload) -> {
                   Log.i("INDEX", "msg,type:"+type);
                switch (type) {
                    case 1:
                        handler.post(() -> {
                              updateUIData();
                            }
                        });   
                        break;
                    case 2:
                       handler.post(()->updateOtherUIData());
                        break;

                }
            });
        }
    };

    Intent intent = new Intent(this, MyService.class);
    bindService(intent, conn, Context.BIND_AUTO_CREATE);

}

этот метод будет вызываться, когда onCreate() . при запуске приложения метод updateUIData() работает нормально, но когда я заканчиваю () действие и startActivity() снова, метод bindMyService() все еще работает, но обратный вызов не работает Журнал показывает, что обратный вызов вызывается, но метод updateUIData() не может работать; похоже, что в обратном вызове активность все еще та, которую я заканчиваю () раньше, но не та, которую я создаю с помощью startActivity();

protected void onDestroy() {
    Log.i("INDEX", "logout");
    unbindService(conn);
    handler = null;
    conn = null;
    every variable  =null;
    super.onDestroy();

}

НЕТ ОШИБОК в logcat, где ошибка?

0 ответов

Другие вопросы по тегам