Androidで定期的にタスクを実行するスクリプトの作成方法
Androidでは、AlarmManagerを使用してバックグラウンドで定期的にタスクを実行できます。以下に、AlarmManagerを使用してタスクを実行するサンプルコードを示します。
- まず、AndroidManifest.xmlファイルに下記のパーミッションを追加します。
<uses-permission android:name="android.permission.SET_ALARM" />
- 定時タスクのブロードキャストを受信する BroadcastReceiver クラスである AlarmReceiver を作成する。
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 在这里执行你的任务脚本
// ...
}
}
- ActivityまたはServiceで以下のコードを使用して定期タスクを設定できます。
// 获取AlarmManager实例
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// 创建一个Intent,将任务脚本的广播接收器类作为目标
Intent intent = new Intent(this, AlarmReceiver.class);
intent.setAction("com.example.ACTION_TASK"); // 设置一个自定义的Action,用于识别任务
// 创建一个PendingIntent,用于发送广播
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
// 设置定时任务,这里使用了每天的12:00执行任务的示例
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
// 设置定时任务的重复类型为每天
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
このコードは毎日正午にタスクスクリプトを実行します。トリガ時間と繰り返しの種類は必要に応じて変更できます。