2017-08-05 75 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)服务的旧方法仍然有效'是否有源代码? –

相关问题