Saya memiliki aplikasi yang memungkinkan pengguna menyetel alarm di berbagai waktu. Saat ini, ia menggunakan AlarmManager ditambah BroadcastReceiver dan AlertDialog untuk memperingatkan pengguna jika alarm berbunyi.
Saya ingin melihat apakah aplikasi saya dapat menggunakan jam alarm bawaan. Saya tahu saya dapat menjadwalkan alarm seperti ini:
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_HOUR, new Date(alarm.getTime()).getHours());
i.putExtra(AlarmClock.EXTRA_MINUTES, new Date(alarm.getTime()).getMinutes());
i.putExtra(AlarmClock.EXTRA_MINUTES, alarm.getDescription());
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
context.startActivity(i);
tapi ini menimbulkan 2 masalah:
- tampaknya tidak ada cara untuk menjadwalkan alarm selama >24 jam ke depan
- alarm bawaan Android hanya memungkinkan 10 alarm disetel
Sebagai solusi untuk item 1, saya dapat menggunakan AlarmManager untuk menjadwalkan alarm pengguna agar disetel dalam waktu 24 jam dari waktunya. Namun, hal ini membuat saya memiliki item 2 - idealnya saya memerlukan cara untuk menghapus alarm aplikasi saya dari jam alarm Android setelah dijalankan (untuk menghindari alarm aplikasi saya menghabiskan ruang alarm) tetapi tidak dapat menemukan cara untuk mendapatkan daftar alarm dan hapus satu.
Apakah ini mungkin, atau apakah saya harus tetap menggunakan pendekatan AlarmManager/AlertDialog manual?