1

Я разрабатываю приложение, которое будет отслеживать время, когда телефон пользователя «не используется».Могу ли я запустить сервис из другой службы в Android?

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

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

ответ

0

Я не настолько опытен, но да, вы должны иметь возможность начать другую услугу, отправив намерение другой службе, если хотите, служба может быть убита системой, если она находится под большим давлением в памяти в соответствии с http://developer.android.com/reference/android/app/Service.html.
У вас должна быть возможность проверить, работает ли ваша служба.

1

Начальный сервис может использовать API startForeground (int, Notification), чтобы поместить службу в состояние переднего плана, где система считает, что это то, что пользователь активно осведомлен и, следовательно, не является кандидатом на убийство при низком уровне Память. (Теоретически возможно, чтобы служба была убита при чрезмерном давлении памяти из текущего приложения переднего плана, но на практике это не должно вызывать беспокойства.)

1

Да, вы можете начать другие услуги в рамках своей службы. На самом деле вы всегда это делаете, но об этом не знаете. Я имею в виду, когда вы вызываете getSystemService (....) initializer в свою службу, вы используете другую службу, объявленную андроидом.

Смежные вопросы