在我的应用程序中,我setRepeating()
以 3 分钟的间隔重复使用开始我的服务。
我想设置一个标志,以便在安装后的第一个间隔、flag=1
重新启动后的间隔和flag=2
其余的间隔设置为 flag=0。
我正在使用共享首选项来存储和访问此标志。我可以成功地将标志存储在 bootUpReceiver 中。但无法在我的服务中访问它。它总是取值 2。
BootUpReceiver 中的代码:
public void onReceive(Context context, Intent intent)
{
SharedPreferences.Editor editor = settings.edit();
editor.putInt("data_mode", 1);
editor.commit();
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
服务代码:
public void onStart(Intent intent, int startId)
{
final SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
data_mode=settings.getInt("data_mode", 2);
startLoggingService();
startMonitoringTimer();
super.onStart(intent, startId);
}