Служба не работает Android устройств зефир, когда приложение убить запустить на Android? - PullRequest
0 голосов
/ 04 сентября 2018

Здесь я прикрепил свой код, я создал службу, которая запускает оба случая, пока мое приложение находится в фоновом режиме и в состоянии завершения работы. Он не работает на устройствах Android зефир, но он работает на других устройствах. Когда я проверяю другие устройства, журнал запускается, когда приложение находится в состоянии уничтожения, только версия 6, не выполняется.

public class SensorService extends Service {
        public int counter=0;
        public SensorService(Context applicationContext) {
            super();
            Log.e("HERE", "here I am!");
        }

        public SensorService() {
        }

        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            super.onStartCommand(intent, flags, startId);
            startTimer();
            return START_STICKY;
        }

Когда придет снова уничтожить, я позвоню в службу, она перейдет к широковещательному приему, а затем вызовет функцию службы.

        @Override
        public void onDestroy() {
            super.onDestroy();
            Log.e("EXIT", "ondestroy!");
            Intent broadcastIntent = new Intent("sales.com.ActivityRecognition.RestartSensor");
            sendBroadcast(broadcastIntent);
            stoptimertask();
        }

        private Timer timer;
        private TimerTask timerTask;
        long oldTime=0;
        public void startTimer() {
            timer = new Timer();
            initializeTimerTask();
            timer.schedule(timerTask, 1000, 1000); //
        }
        public void initializeTimerTask() {
            timerTask = new TimerTask() {
                public void run() {
                    Log.e("in timer", "in timer ++++  "+ (counter++));
                }
            };
        }

        public void stoptimertask() {
            //stop the timer, if it's not already null
            if (timer != null) {
                timer.cancel();
                timer = null;
            }
        }

        @Nullable
        @Override
        public IBinder onBind(Intent intent) {
            return null;

    }

Ниже код для кода Broadcast Receiver: приложение работает, когда я нажимаю кнопку «Назад», если приложение было прервано, оно не работает, службы других устройств работают.

    public class SensorRestarterBroadcastReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            Log.e(SensorRestarterBroadcastReceiver.class.getSimpleName(), "Service Stops! Oooooooooooooppppssssss!!!!");

         //   context.startService(new Intent(context, SensorService.class));

            Intent i = new Intent(context, SensorService.class);
            context.startService(i);

        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...