重新打开应用程序时服务会重新启动

Service gets restarted when app is reopened

我的应用程序的 Service 在应用程序首次启动时立即启动。一旦启动,我不希望应用程序在重新打开时重新启动它。我怎样才能做到这一点?

在您的 Activity 启动后阅读 SharedPreferences 并检查您是否仍然需要该服务

SharedPreferences prefs = getSharedPreferences("prefsName", MODE_PRIVATE);
boolean doINeedService = prefs.getBoolean("doINeedService", true);
if(doINeedService){
   startService(...);
}

服务完成后,像这样将布尔值放入 SharedPreferences

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

测试服务是否已经运行。 我希望在 Android SDK 的某处您可以查询 运行 服务并查看它是否已经 运行.

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