在启动BackgroundService的代码中,需要判断当前Service是否已经在运行了。可以通过以下方法来解决:
public class MyService extends Service {
private static boolean isRunning = false;
@Override
public void onCreate() {
super.onCreate();
isRunning = true;
}
@Override
public void onDestroy() {
super.onDestroy();
isRunning = false;
}
}
if (!MyService.isRunning) {
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
这样就能够避免Service被多次启动的问题。