Ho un'app che consente all'utente di impostare allarmi in vari momenti. Attualmente utilizza AlarmManager più un BroadcastReceiver e un AlertDialog per avvisare l'utente che un allarme si sta spegnendo.C'è un'API Android per rimuovere gli allarmi
Mi piacerebbe vedere se la mia app potrebbe utilizzare la sveglia integrata. So di poter programmare gli allarmi in questo modo:
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);
ma ciò presenta 2 problemi:
- non sembra essere un modo per programmare un allarme per> 24 ore nel futuro
- l'allarme integrato di Android consente di impostare 10 allarmi
Per aggirare l'articolo 1, è possibile utilizzare AlarmManager per programmare l'allarme degli utenti da impostare entro 24 ore. Tuttavia, questo mi lascia con item 2 - idealmente ho bisogno di un modo per rimuovere gli allarmi della mia app dalla sveglia Android dopo che sono stati eseguiti (per evitare che gli allarmi della mia app occupino spazio di allarme) ma non riesco a trovare una via per ottenere un lista di allarmi e rimuoverne uno.
È possibile o devo attenermi all'approccio manuale AlarmManager/AlertDialog?