在Android中,AlarmManager是一個用于設置和管理系統定時任務的類
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) {
// 在這里處理定時任務的邏輯
}
}
<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);
// 創建一個Intent對象,指向AlarmReceiver
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
// 使用PendingIntent包裝Intent對象
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
// 獲取AlarmManager實例
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// 設置定時任務
long triggerAtMillis = System.currentTimeMillis() + 5 * 60 * 1000; // 5分鐘后觸發
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
}
}
在這個示例中,我們首先創建了一個名為AlarmReceiver的BroadcastReceiver類。然后,在AndroidManifest.xml中注冊了這個接收器。接下來,在MainActivity中,我們使用AlarmManager設置了一個定時任務,該任務將在5分鐘后觸發。當定時任務觸發時,AlarmReceiver的onReceive方法將被調用,您可以在這個方法中處理定時任務的邏輯。