Menyahmistikan Penggunaan AlarmManager dalam Android
AlarmManager ialah alat berkuasa dalam Android yang membolehkan pembangun menjadualkan tugas untuk dijalankan pada masa tertentu . Ia amat berguna apabila apl perlu melakukan tindakan tertentu walaupun ia tidak berjalan. Walau bagaimanapun, memahami selok-beloknya boleh menjadi menakutkan bagi mereka yang baru dalam pembangunan Android.
Soalan:
Bergelut dengan AlarmManager, bolehkah saya mendapatkan contoh yang berfungsi untuk mencetuskan kod selepas 20 minit?
Penyelesaian:
Menyediakan AlarmManager untuk tugas tertangguh melibatkan beberapa langkah. Berikut ialah coretan kod komprehensif yang menunjukkan penggunaannya:
// Get the AlarmManager instance from the Android system AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); // Create an Intent to be triggered for the alarm Intent intent = new Intent(context, OnAlarmReceiver.class); // Convert the Intent into a PendingIntent to pass it to the AlarmManager PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); // Set up a repeating alarm based on elapsed real-world time, with a trigger every 20 minutes mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 20 * 60 * 1000, pendingIntent);
Dalam contoh ini, kami mencipta penggera berulang yang mencetuskan setiap 20 minit menggunakan kaedah setRepeating(). Parameter pertama menentukan asas masa, yang dalam kes ini adalah masa dunia sebenar berlalu (sejak peranti but). Parameter kedua mewakili masa semasa. Parameter ketiga menunjukkan selang antara penggera dan parameter keempat ialah PendingIntent yang merangkum Niat untuk dicetuskan.
Sila ambil perhatian bahawa adalah penting untuk mempertimbangkan dengan teliti asas masa apabila menggunakan AlarmManager, kerana ia boleh memberi kesan ketepatan penjadualan. Sebagai contoh, menggunakan AlarmManager.RTC_WAKEUP dan bukannya ELAPSED_REALTIME_WAKEUP akan menggunakan masa sebenar peranti, yang boleh dipengaruhi oleh pelarasan seperti waktu penjimatan siang.
Selain itu, perlu dinyatakan bahawa AlarmManager mungkin tidak menjamin masa pelaksanaan yang tepat, terutamanya dalam mod penjimatan kuasa. Jika apl anda memerlukan pemasaan yang tepat, terokai penyelesaian alternatif seperti JobScheduler.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan AlarmManager dalam Android untuk Mencetuskan Kod Selepas 20 Minit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!