Я перевожу свое Android-приложение на целевой Android Oreo.Я запускаю службу, которая должна работать неограниченное время для выполнения определенной задачи.
Запуск службы - это выполнение определенной задачи с согласия пользователей, конечно.
До сих пор мое приложениебыл ориентирован на Android Marshmallow, и служба работает нормально и работает нормально.
Это мой сервис
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
private void DoSomething() {
//Some Code keep watching something.
}
@Override
public int onStartCommand (Intent intent, int flags, int startId) {
DoSomething();
return Service.START_STICKY;
}
}
И вот как я запускаю сервис из действия
startService(new Intent(getBaseContext(), MyService.class));
Теперь моя проблема в том, что, когда я нацеливаю свое приложение на Android Oreo, служба не работает и, следовательно, функция, которую я пытаюсь достичь, не работает.
Но тогда как, если мойПриложение предназначено для Android Marshmallow, все работает отлично с тем же кодом.
Может ли кто-нибудь помочь мне запустить Serice в Android-приложении на неопределенный срок, нацеленный на Android Oreo, был бы признателен?