我有一个应用程序,必须获取我在许多活动中的位置。我找到了这段非常有用的完整代码here。它如何使用后台服务获取当前位置。我在我的代码中实现了它。第一次工作正常。接下来,当它到达这个时,如果
if (mPref.getString("service", "").matches("")) {
medit.putString("service", "service").commit();
Intent intent = new Intent(getApplicationContext(), GoogleService.class);
startService(intent);
} else {
Toast.makeText(getApplicationContext(), "Service is already running", Toast.LENGTH_SHORT).show();
}
我收到服务已在运行的消息。为什么会这样?我关闭并重新打开了应用程序,为什么服务仍在运行?求助,非常重要,谢谢
答案 0 :(得分:0)
如果您使用SharedPreferences
来保留有关Service
的信息,那么该信息会在应用重新启动后继续存在,因此您的if
条件始终为false
(当您执行时mPref.commit()
{1}}您将密钥对保存到文件中。