Bagi kebanyakan pembangun, memanfaatkan kuasa AlarmManager dalam Android boleh menjadi tugas yang sukar. Alat berkuasa ini membolehkan anda menjadualkan tugas untuk dijalankan pada masa tertentu secara bebas sama ada apl anda sedang berjalan atau tidak.
Satu senario biasa yang dihadapi oleh pembangun Android ialah keperluan untuk melaksanakan kod pada selang masa yang telah ditetapkan. Satu contoh sedemikian ialah mencetuskan tindakan 20 minit selepas menetapkan penggera menggunakan AlarmManager. Walau bagaimanapun, bagi kebanyakan orang, melaksanakan tugas ini boleh menimbulkan masalah.
Untuk menangani isu khusus ini, kami membentangkan coretan kod yang menunjukkan penggunaan AlarmManager yang betul:
AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent i=new Intent(context, OnAlarmReceiver.class); PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0); mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi);
Dalam kod ini, AlarmManager dimulakan menggunakan kaedah setRepeating(). Kaedah ini membolehkan anda menetapkan penggera yang berlaku pada selang masa yang tetap. Dalam coretan kod, penggera dijadualkan untuk mencetuskan setiap PERIOD milisaat. Masa asas untuk penggera ditetapkan menggunakan SystemClock.elapsedRealtime().
Adalah penting untuk memilih pangkalan masa yang betul semasa menetapkan penggera. Dalam coretan kod, AlarmManager.ELAPSED_REALTIME_WAKEUP digunakan, yang bermaksud penggera akan dicetuskan berdasarkan masa yang berlalu sejak peranti kali terakhir dibut.
Untuk memastikan penggera anda berterusan walaupun apl ditamatkan, anda perlu untuk menggunakan PendingIntent. Objek ini mewakili niat yang boleh dilaksanakan kemudian, walaupun apl yang menciptanya tidak lagi berjalan.
Dengan mengikut garis panduan ini, anda boleh menjadualkan tugas dengan berkesan menggunakan AlarmManager dalam Android, memastikan pelaksanaan yang boleh dipercayai kod anda walaupun semasa apl anda tidak aktif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan AlarmManager Android untuk Menjadualkan Tugas pada Selang Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!