У меня кошмар, когда я пытаюсь создать простой фоновый сервис на Android, который работает постоянно.
Этот сервис будет выполнять некоторые фоновые задачи, такие как пул пользователей в социальных сетях и показывать уведомления, поэтому для него требуется только один пользователь.взаимодействие (логин) после этого должно быть в состоянии работать вечно до конца дней ....
но это не происходит
это мой манифест:
<service
android:name=".service.MyService"
android:description="@string/serviceDescription"
android:directBootAware="false"
android:enabled="true"
android:exported="false"
android:icon="@drawable/ic_logo"
android:label="@string/serviceLabel"/>
Я запускаю службу на Application onCreate()
if (MyService.getInstance() == null) {
Intent intent = new Intent(this, MyService.class);
startService(intent);
}
Служба:
public void onCreate() {
super.onCreate();
this.workDone = 0;
this.workerMap = new HashMap<User.UserData, Worker>(3);
this.listeners = new HashMap<Worker, Worker.WorkerListener>(3);
this.usernames = new HashMap<APIFacade, List<String>>(3);
this.threadPool = Executors.newFixedThreadPool(3);
INSTANCE = this;
}
АБСОЛЮТНО НУДА В МОЕМ КОДЕ Я ВЫЗЫВАЮ СТОПСЕРВИС, НЕТ ОСТАНОВКИ
так почему я 'я получаю nullpointerexception в некоторых случайных ситуациях?
кто-то даже сказал мне сделать ниже код, чтобы заставить Android «перезапустить» службу
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
может кто-нибудь, пожалуйста, помогите мне ... яЯ очень переживаю из-за этой проблемы
мое приложение имеет более 1000 ежедневных пользователей, и около 10% из них "находят способ" сделать нулевое исключение при использовании службы