如何 运行 在 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" />
在我的应用程序中,我希望每个用户每 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" />