Java android将任务安排在每天运行一次代码

Java android将任务安排在每天运行一次代码,java,android,Java,Android,我正在制作一个小的android应用程序,我想有一些每天早上6点运行一次的代码。当应用程序未运行时,更新某些参数并向用户发送通知,告知他们进入应用程序。有人能告诉我做这件事的最佳方法吗 您可以使用alarm manager、pending intent和广播接收器这样做。此代码将每两小时唤醒一次设备: AlarmManager alarmManager = (AlarmManager)this.getSystemService(ALARM_SERVICE); Calendar c

我正在制作一个小的android应用程序,我想有一些每天早上6点运行一次的代码。当应用程序未运行时,更新某些参数并向用户发送通知,告知他们进入应用程序。有人能告诉我做这件事的最佳方法吗

您可以使用alarm manager、pending intent和广播接收器这样做。此代码将每两小时唤醒一次设备:

    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权限

即使设备已重新启动且用户未再次显式打开应用程序,此功能是否仍有效?