有一种这种类型的服务,每次打开应用程序时都会启动:
public class SomeService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
// Что-то происходит
}
}
}).start();
return super.onStartCommand(intent, flags, startId);
}
}
问题是,如果你先启动应用程序,然后最小化/关闭(服务继续工作)然后重新打开,服务将启动,但已经有两个正在运行onStartCommand。
您如何确保此流始终只是一个水实例?
用@YuriSPb的话来说