在Android中,AlarmManager是一個(gè)用于設(shè)置和管理系統(tǒng)定時(shí)任務(wù)的類
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 在這里處理定時(shí)任務(wù)的邏輯
}
}
<application ...>
...
<receiver android:name=".AlarmReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
...
</application>
</manifest>
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 創(chuàng)建一個(gè)Intent對(duì)象,指向AlarmReceiver
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
// 使用PendingIntent包裝Intent對(duì)象
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
// 獲取AlarmManager實(shí)例
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// 設(shè)置定時(shí)任務(wù)
long triggerAtMillis = System.currentTimeMillis() + 5 * 60 * 1000; // 5分鐘后觸發(fā)
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
}
}
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)名為AlarmReceiver的BroadcastReceiver類。然后,在AndroidManifest.xml中注冊(cè)了這個(gè)接收器。接下來(lái),在MainActivity中,我們使用AlarmManager設(shè)置了一個(gè)定時(shí)任務(wù),該任務(wù)將在5分鐘后觸發(fā)。當(dāng)定時(shí)任務(wù)觸發(fā)時(shí),AlarmReceiver的onReceive方法將被調(diào)用,您可以在這個(gè)方法中處理定時(shí)任務(wù)的邏輯。