2017-08-05 73 views

回答

3

這是關於性能改進,效益和最佳實踐。

從API 26開始,系統不允許後臺應用程序創建後臺服務。

所以,如果您的應用程序在後臺運行(歡迎您做同樣的,如果是在前臺爲好),你必須使用Context.startForegroundService(Intent)代替前者startService(Intent)的。該服務必須在啓動後的第一個5秒內撥打startForeground(int, Notification),否則系統將停止服務。

還應該提到的是,有一些信息表明,從後臺應用程序開始startService(Intent)服務的舊方式仍然適用於當前版本的Android Oreo,但它很快就會被修復。

因此,從API 26開始,只要希望啓動前臺服務,就希望使用新的Context.startForegroundService(Intent)方法而不是startService(Intent)

+0

'有一種信息,即從一個bacjground應用程序啓動startService(Intent)服務的舊方法仍然有效'是否有源代碼? –

相關問題