0

您好,感谢您的帮助。

我有以下情况。

我有一个 AlarmManager 每 1 分钟触发一次服务。

仅当第一次启动服务时,我才必须在该服务中执行特定方法。不是当它开始随后的时间。

我不认为共享偏好是一种解决方案,因为如果手机关机,它们会持续存在。

请问这个怎么解决??

谢谢你的任何建议!!!

4

2 回答 2

1

您可以在 onCreate() 中调用它。请参阅官方文档中的此处。它说:

Called by the system when the service is first created. Do not call this method directly.
供您参考,您可以看到问题何时调用 Application 的 onCreate() 方法?如果 android重新启动一个服务是 onCreate 再次调用?

于 2013-05-27T15:43:12.317 回答
1

尝试从应用程序继承并存储在其中..

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
}
于 2013-05-27T15:43:24.390 回答