Как сохранить сервис приложения активным на переднем и заднем плане - PullRequest
1 голос
/ 12 апреля 2019

Как заставить мое приложение поддерживать соединение на сервере Socket и работать на переднем и заднем плане.Мне нужно получить некоторые уведомления и данные с сервера.До сих пор мое приложение работает только тогда, когда оно открыто, а когда я закрываю или только обратно, соединение прекращается.

И когда приложение закрыто и пользователь снова запускает приложение и пытается снова подключиться к серверу, соединение не происходит,тогда мне нужно перезагрузить сервер и снова подключиться.

    private ServiceConnection serviceConnection = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {

            iSocketInterface = ISocketInterface.Stub.asInterface(iBinder);
            socketServiceBound = true;

        }
        @Override
        public void onServiceDisconnected(ComponentName componentName) {

            iSocketInterface = null;
            socketServiceBound = false;

        }
    };

    @Override
    protected void onStart() {
        super.onStart();
        // Bind to LocalService
        Intent intent = new Intent(this, SocketService.class);
        bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
    }

    protected void onRestart(){
        super.onRestart();

    }

    protected void onResume(){
        super.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }


    @Override
    protected void onStop() {
                super.onStop();
}
...