2017-08-04 10 views
5

W wersji migration guide sugeruje się, aby w razie potrzeby używać NotificationManager.startServiceInForeground() zamiast startService().Ograniczenia usługi tła Android O

Ale nie widzę żadnej metody startServiceInForeground() w NotificationManager. czego mi brakuje?

+0

To nie jest w NotificationManager, ale w aktywny/Context (np. Gdzie jest teraz StartService) – RobCo

+0

Musisz ustawić compileSdkVersion do 26 i uaktualnić biblioteki obsługi do 26.0.0 zobaczyć metod wprowadzonych w Androidzie O. –

+1

Dla kompatybilności użyj 'ContextCompat.startForegroundService()' w bibliotece pomocy technicznej 26.0.0-beta1 – RobCo

Odpowiedz

3

Trzeba zmienić poziom API miejscu dokumentacji, aby zobaczyć nowe metody

screenshot

Należy użyć poniższego metody zaproponowanej przez @RobCo dodaną w komunikacie biblioteki wsparcie 26.0.0-beta1

ContextCompat.startForegroundService() 

i tak, prowadnica migracji to jest złe, NotificationManager nie ma metody nazywanej startForegroundService() nawet w API 26.

PS: Podręcznik migracji został poprawiony, a teraz poprawnie łączy się z metodą ContextCompat.startForegroundService().

+0

Tak, rzeczywiście, już pokazywałem dokumentację dla API 26, ale jak się okazuje, metoda nie jest w 'NotificationManager', ale jest w' Context' ... zamiast tego użyje 'ContextCompat' . – drmrbrewer

0

Niczego nie brakuje. Wygląda na to, że google zapomniał zaktualizować dokumenty.

0

Nie zmieniły się jeszcze w podręczniku migracji.

Należy użyć metody ContextCompat.startForegroundService() zamiast metody NotificationManager.startServiceInForeground().