Я пытаюсь оставить таймер включенным в фоновом режиме, даже когда приложение убито (соскользнуло с домашнего экрана). мне нужно продолжать выполнение кода в методе onHandleIntent. Это то, что я пробовал
TimerService extends IntentService {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Override
protected void onHandleIntent( Intent intent) {
if(intent==null){
int time = 5;
for(int i=0; i<time; i++){
Log.i("timer","i (intent is null)= "+i);
try{
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return;
}
int time = intent.getIntExtra("time",0);
for(int i=0; i<time; i++){
Log.i("timer","i (intent is not null)= "+i);
try{
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(this,TimerService.class);
intent.putExtra("time",20);
startService(intent);
}
}