我想知道当使用相同的类时,是否可以创建两次(或多次)服务(myService.class)。比如第一次是在Application中进行初始化(这意味着它在后台运行),而其他情况可能发生在广播接收器中。
startService(new Intent(this, myService.class));
或者如果服务当前正在运行,则其他服务未初始化..?
我想知道当使用相同的类时,是否可以创建两次(或多次)服务(myService.class)。比如第一次是在Application中进行初始化(这意味着它在后台运行),而其他情况可能发生在广播接收器中。
startService(new Intent(this, myService.class));
startService()
时,onCreate()
和onStartCommand()
也会被调用。但变量仍然是相同的,并且不会再次初始化。private var isRunning = false
或者:
private boolean isRunning = false;
然后,在onCreate()
中:
if (!isRunning) {
Log.i("ServiceStarter", "On start called")
isRunning = true
// do your work here
}