我正在开发一个我想在启动完成后启动的前台服务的应用程序。我知道我无法在广播中开始服务,这就是为什么我问这个问题。我没有找到任何有用的细节。我正在使用前台服务,该服务每分钟会为我提供一次位置更新。
对于启动侦听,我使用的是Broadcast-Receiver。
我在<div class="form-group">
<label>Some label</label>
<div class="input-group">
<input type="text" class="form-control"/>
<div class="input-group-append">
<i class="icon"></i>
</div>
</div>
</div>
中写了这个。
AndroidManifest.xml
,并且在收到启动接收器之后,我想启动相同的前台服务,以便每分钟获取位置更新。当我单击活动中的按钮以启动前台服务以获取位置更新时,该方法工作正常。
请让我知道如何实现此目标?
答案 0 :(得分:3)
使用startForegroundService()
启动前台服务。
答案 1 :(得分:1)
Android 8.0引入了新方法startForegroundService()来在前台启动新服务。系统创建服务后,应用程序将有五秒钟的时间调用服务的startForeground()方法,以显示新服务的用户可见通知。如果该应用程序在该时限内未调用startForeground(),则系统将停止服务并声明该应用程序为ANR。如开发者网站Check this
中所述