[英]Executing a method only once a day android java
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);
}
我想讓這些密鑰每天只上傳一次。 我怎樣才能做到這一點?
現在您可以在您想要的應用程序活動中編寫此代碼,或者創建一個服務並在那里編寫代碼:-
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
}
如果您還沒有常量文件,請創建一個常量文件:-
常量.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"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.