Android O - O serviço antigo de primeiro plano ainda está funcionando?

Portanto, com o Android O, você precisa ter o serviço em execução como primeiro plano, se desejar receber mais do que apenas algumas atualizações de local por hora.

Percebi que o método antigo para iniciar um serviço em primeiro plano parece funcionar em O.

startForeground(NOTIFICATION_ID, getNotification());

De acordo com o guia de mudanças de comportamento aqui:https://developer.android.com/preview/behavior-changes.html

O método NotificationManager.startServiceInForeground () inicia um serviço em primeiro plano. A maneira antiga de iniciar um serviço em primeiro plano não funciona mais.

Embora o novo método funcione apenas ao direcionar O, parece que o método antigo ainda parece funcionar em um dispositivo O, direcionado a O ou não.

Editar Incluindo exemplo:

O projeto de exemplo do Google LocationUpdatesForegroundService realmente tem um exemplo de trabalho em que você pode ver o problema em primeira mão.https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesForegroundService

O método startForeground parece funcionar sem problemas, seja direcionando e compilando no nível da API 25 OU direcionando e compilando no O (conforme indicado aqui:https://developer.android.com/preview/migration.html#uya)

Então, para reproduzir:

Configure o aplicativo gradle como mencionado no link anteriorAbra o aplicativoSolicitar atualizações de localFechar aplicativo (via botão voltar ou botão home)

O serviço está sendo executado em primeiro plano (mostrado pelo ícone na sombra de notificação). As atualizações de localização estão chegando como esperado (a cada 10 segundos), mesmo em um dispositivo executando O. O que estou perdendo aqui?

questionAnswers(7)

yourAnswerToTheQuestion