如何在Android中设置持久/常规计划?

Ran*_*ku' 6 cron android scheduling scheduler scheduled-tasks

如何在每个指定的时间(例如每天早上5点)执行一个动作(可能是一个意图)?它必须在设备重新启动后停留,类似于cron的工作方式.

我不确定我是否可以使用AlarmManager它,或者我可以吗?

Ste*_*teD 10

如果您希望它在设备重新启动后保留,则必须在设备重新启动后安排警报.

您需要在AndroidManifest.xml中拥有RECEIVE_BOOT_COMPLETED权限

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)

还需要BroadcastReceiver来捕获意图ACTION_BOOT_COMPLETED

<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

最后,覆盖BroadcastReceiver中的onReceive方法.

public class BootcompletedReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
     //set alarm
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑:查看AlarmManager的setRepeating方法来安排'Android cron'.