您好,感谢您的帮助。
我有以下情况。
我有一个 AlarmManager 每 1 分钟触发一次服务。
仅当第一次启动服务时,我才必须在该服务中执行特定方法。不是当它开始随后的时间。
我不认为共享偏好是一种解决方案,因为如果手机关机,它们会持续存在。
请问这个怎么解决??
谢谢你的任何建议!!!
您好,感谢您的帮助。
我有以下情况。
我有一个 AlarmManager 每 1 分钟触发一次服务。
仅当第一次启动服务时,我才必须在该服务中执行特定方法。不是当它开始随后的时间。
我不认为共享偏好是一种解决方案,因为如果手机关机,它们会持续存在。
请问这个怎么解决??
谢谢你的任何建议!!!
您可以在 onCreate() 中调用它。请参阅官方文档中的此处。它说:
Called by the system when the service is first created. Do not call this method directly.
供您参考,您可以看到问题何时调用 Application 的 onCreate() 方法?如果 android重新启动一个服务是 onCreate 再次调用?
尝试从应用程序继承并存储在其中..
public class YourApp extends Application {
private static boolean mFirstRun = false;
public static boolean getFirstRun() { return mFirstRun; }
public static void clearFirstRun() { mFirstRun = false; }
来自您的服务:
if (YourApp.getFirstRun())
{
clearFirstRun();
// run first time code
}