Android 当应用程序重新打开时,服务将重新启动

Android 当应用程序重新打开时,服务将重新启动,android,android-service,Android,Android Service,我的应用程序的服务将在应用程序首次启动后立即启动。一旦启动,我不希望应用程序在重新打开时重新启动。如何实现这一点?一旦活动开始,请阅读SharedReferences,并检查您是否仍然需要该服务 SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE); boolean doINeedService = prefs.getBoolean("doINeedService", true); if(doINeed

我的应用程序的
服务
将在应用程序首次启动后立即启动。一旦启动,我不希望应用程序在重新打开时重新启动。如何实现这一点?

一旦活动开始,请阅读SharedReferences,并检查您是否仍然需要该服务

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
boolean doINeedService = prefs.getBoolean("doINeedService", true);
if(doINeedService){
   startService(...);
}
服务完成后,将布尔值放入
SharedReferences
中,如下所示

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
Editor edit = prefs.edit();
edit.putBoolean("doINeedService", false);
edit.commit();

一旦活动开始,请阅读SharedReferences,并检查您是否仍然需要该服务

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
boolean doINeedService = prefs.getBoolean("doINeedService", true);
if(doINeedService){
   startService(...);
}
服务完成后,将布尔值放入
SharedReferences
中,如下所示

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
Editor edit = prefs.edit();
edit.putBoolean("doINeedService", false);
edit.commit();

一旦活动开始,请阅读SharedReferences,并检查您是否仍然需要该服务

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
boolean doINeedService = prefs.getBoolean("doINeedService", true);
if(doINeedService){
   startService(...);
}
服务完成后,将布尔值放入
SharedReferences
中,如下所示

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
Editor edit = prefs.edit();
edit.putBoolean("doINeedService", false);
edit.commit();

一旦活动开始,请阅读SharedReferences,并检查您是否仍然需要该服务

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
boolean doINeedService = prefs.getBoolean("doINeedService", true);
if(doINeedService){
   startService(...);
}
服务完成后,将布尔值放入
SharedReferences
中,如下所示

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
Editor edit = prefs.edit();
edit.putBoolean("doINeedService", false);
edit.commit();

测试以查看服务是否已在运行。 我希望在Android SDK中的某个地方,您可以查询正在运行的服务,看看它是否已经在运行


不过,很抱歉,其他人可能会有更好的主意。

测试该服务是否已经运行。 我希望在Android SDK中的某个地方,您可以查询正在运行的服务,看看它是否已经在运行


不过,很抱歉,其他人可能会有更好的主意。

测试该服务是否已经运行。 我希望在Android SDK中的某个地方,您可以查询正在运行的服务,看看它是否已经在运行


不过,很抱歉,其他人可能会有更好的主意。

测试该服务是否已经运行。 我希望在Android SDK中的某个地方,您可以查询正在运行的服务,看看它是否已经在运行



不过,其他人可能会有更好的主意,抱歉。

SharedReferences
上存储一个布尔值,并防止
服务重新运行。我可以将SharedReference检查的条件放在哪里查看Bojan的回答您是否已经解决了问题?在
SharedReferences
上存储一个布尔值,并防止
服务重新运行再次运行我在哪里可以设置共享引用检查的条件查看Bojan的回答那么你已经解决了还是仍然有问题?在
SharedReferences
上存储一个布尔值,并防止
服务重新运行我在哪里可以设置共享引用检查的条件查看Bojan的回答你呢解决了还是仍然存在问题?在
SharedReferences
上存储一个布尔值,并防止
服务重新运行。我可以将SharedReference检查的条件放在哪里查看Bojan的回答那么你解决了还是仍然存在问题?如果你需要知道
服务当前正在运行。我想他只是想检测服务是否已经运行。
SharedReferences
中的简单值可能可以,您不需要额外的权限。如果您需要知道
服务
当前是否正在运行,这个答案很好。我想他只是想检测服务是否已经运行。
SharedReferences
中的简单值可能可以,您不需要额外的权限。如果您需要知道
服务
当前是否正在运行,这个答案很好。我想他只是想检测服务是否已经运行。
SharedReferences
中的简单值可能可以,您不需要额外的权限。如果您需要知道
服务
当前是否正在运行,这个答案很好。我想他只是想检测服务是否已经运行。
SharedReferences
中的简单值可能可以,您不需要额外的权限。