0

在我的应用程序中,我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);
 }
4

0 回答 0