如何 运行 在 android 中每 24 小时编码一次

How to run code every 24h in android

在我的应用程序中,我希望每个用户每 24 小时 编码一次 运行!
例如:当在 12:00 上午 显示 Toast 消息时,然后在 明天再次显示此 Toast 消息 12:00.

我该怎么做?

尝试将 JobScheduler class 用于此类用例,它只支持 API 级别 21

https://medium.com/google-developers/scheduling-jobs-like-a-pro-with-jobscheduler-286ef8510129

另一种选择是使用 Firebase JobDispatcher,但这需要依赖 Google Play Services SDK。

https://developer.android.com/topic/performance/scheduling

以上 link 解释了所有其他选择。

探索愉快..!!

您需要注册闹钟,请尝试以下

第 1 步:注册闹钟。

private void registerAlarm(Context context, int requestCode) {
    int HOUR = 60 * 60 * 1000;
    Intent intent = new Intent(context, DailyAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(
            context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
            + 24 * HOUR, pendingIntent);
}

调用 registerAlarm 方法,例如从 activity onCreate。 理想情况下我们应该在应用安装时注册

registerAlarm(this, 1);

第 2 步:创建 BroadcastReceiver。

public class DailyAlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
       Log.d("DailyAlarmReceiver","Received");
    }
}

第 3 步:在清单文件中添加接收器

<receiver
      android:name=".DailyAlarmReceiver"
      android:exported="true" />