每天只执行一次方法

时间:2020-08-04 05:44:17

标签: java android

public ListenableFuture<?> fakeUpload() {
    ImmutableList.Builder<Keys> builder = ImmutableList.builder();
    for (int i = 0; i < 14; i++) {
      byte[] bytes = new byte[KEY_SIZE_BYTES];
      RAND.nextBytes(bytes);
      builder.add(
          Keys.newBuilder()
              .setKeyBytes(bytes)
              .setIntervalNumber(FAKE_INTERVAL_NUM)
              .build());

    }

    return doUpload(builder.build(), true);
  }

我希望这些密钥每天仅上传一次。 我该怎么办?

1 个答案:

答案 0 :(得分:3)

现在,您可以在想要的应用程序活动中编写此代码,也可以在其中创建服务并在其中编写代码:-

private fun shouldUploadFakeKeys(): Boolean {
    if (sharedPreferenceUtil.getInt(Constants.EXTRA_DAILY_KEYS_UPLOAD) != getTodaysDate()) {
        sharedPreferenceUtil.putBoolean(Contants.EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY,false)
        return true
    } else if (sharedPreferenceUtil.getBoolean(Contants.EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY)) {
        return false
    }
    return true
}
fun getTodaysDate(): Int {
        return ZonedDateTime.now().dayOfMonth
    }

如果还没有常量文件,则创建一个常量文件:-

Constants.kt

class Constants{
    companionObject{
         const val EXTRA_DAILY_KEYS_UPLOAD = "EXTRA_DAILY_KEYS_UPLOAD"
         const val EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY = "EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY"
    }
}
相关问题