第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android (JAVA) - 每天上午 9:00 在特定時間調用 REST API

Android (JAVA) - 每天上午 9:00 在特定時間調用 REST API

PHP
30秒到達戰(zhàn)場 2023-07-15 18:36:44
我正在使用警報管理器調用 REST API。但問題是當用戶更改系統(tǒng)時鐘時間時它會立即觸發(fā)。必須在上午 9:00 準確調用 REST API。假設用戶在上午 8:00 更改時鐘,并且鬧鐘在上午 10:00 觸發(fā),因此會導致問題。我使用 PHP-MySQL 作為后端。你也可以說我的鬧鐘不必依賴于Android系統(tǒng)時間。它必須取決于印度標準時間。應在上午 9:00 除外調用 REST API后端 PHPREST API 恰好在上午 9:00 調用。當用戶更改系統(tǒng)時鐘時間時,警報管理器會立即觸發(fā)。設置報警方式   public static void setAlarm(Context context) {    Intent intent = new Intent(context, MyBroadcastReceiver.class);    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 234324243, intent, 0);    AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);    Calendar calendar = Calendar.getInstance();    calendar.setTimeInMillis(System.currentTimeMillis());    calendar.set(Calendar.HOUR_OF_DAY, 9);    calendar.set(Calendar.MINUTE, 0);    calendar.set(Calendar.SECOND, 0);    if (calendar.before(Calendar.getInstance())) {        calendar.add(Calendar.DATE, 1);    }    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);  }BroadcastReceiver.java      public class MyBroadcastReceiver extends BroadcastReceiver {      @Override      public void onReceive(Context context, Intent intent) {        if (isNetworkConnected(context)) {           doUpdate(context);        }      }    private void doUpdate(final Context context) {    class DoInsert extends AsyncTask<String, String, String> {        @Override        protected String doInBackground(String... strings) {            Retrofit retrofit = AppConfig.getRetrofit();            Api service = retrofit.create(Api.class);            Call<Response> call = service.doOperation();            call.enqueue(new Callback<Response>() {                @Override                public void onResponse(Call<Response> call, retrofit2.Response<Response> response) {                    Response response1 = response.body();                    Log.d("RESPONSE ======== ", response1.getMessage());                    return;                }
查看完整描述

1 回答

?
largeQ

TA貢獻2039條經(jīng)驗 獲得超8個贊

經(jīng)過很多臨時技巧后,我找到了解決方案。

警報管理器將占用系統(tǒng)時間,為了避免它,我們可以使用 UTC 時間,但我不知道如何使用它。

所以,我通過在php中使用Cron Job解決了這個問題。Web 托管提供了 Cron 作業(yè),它實際上適合這種情況,因為授予用戶修改 REST API 的權限是相當危險的。

最后感謝所有花時間回答我的問題的人。


查看完整回答
反對 回復 2023-07-15
  • 1 回答
  • 0 關注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號