Java android将任务安排在每天运行一次代码
我正在制作一个小的android应用程序,我想有一些每天早上6点运行一次的代码。当应用程序未运行时,更新某些参数并向用户发送通知,告知他们进入应用程序。有人能告诉我做这件事的最佳方法吗 您可以使用alarm manager、pending intent和广播接收器这样做。此代码将每两小时唤醒一次设备:Java android将任务安排在每天运行一次代码,java,android,Java,Android,我正在制作一个小的android应用程序,我想有一些每天早上6点运行一次的代码。当应用程序未运行时,更新某些参数并向用户发送通知,告知他们进入应用程序。有人能告诉我做这件事的最佳方法吗 您可以使用alarm manager、pending intent和广播接收器这样做。此代码将每两小时唤醒一次设备: AlarmManager alarmManager = (AlarmManager)this.getSystemService(ALARM_SERVICE); Calendar c
AlarmManager alarmManager = (AlarmManager)this.getSystemService(ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
//set the alarms to start in the time period
cal.add(Calendar.MILLISECOND,60000);
Intent i = new Intent(this, AlarmBroadcastReceiver.class);
PendingIntent getSqlUpdatesTimer = PendingIntent.getBroadcast(this, 0, i, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 7200000, getSqlUpdatesTimer);
以及您的广播接收器:
public class AlarmBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
if (intent != null) {
PowerManager pm = (PowerManager)context.getSystemService(context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wl.acquire();
//Some code to do your task
wl.release();
}
}
}
您还需要在清单中设置wakelock权限 即使设备已重新启动且用户未再次显式打开应用程序,此功能是否仍有效?