2010-06-30 9 views
9

È per caso possibile ottenere un elenco di allarmi salvati nell'applicazione di allarme di Android? Sto facendo un'applicazione che ha solo bisogno di mostrare gli allarmi impostati nell'applicazione Allarme.Ricevi tutti gli allarmi salvati nell'applicazione di allarme

Thanx

+1

AFAIK sapere che ci sono molte applicazioni di allarme orologio là fuori, tutti probabilmente usano il proprio set di dati. – Pentium10

risposta

14

C'è una buona spiegazione su this post riguardo a questa. Non ci sono garanzie che l'app AlarmClock sia su tutti i dispositivi su cui è installata l'app. Ad esempio, molti dei telefoni HTC lo sostituiscono con l'app "World Clock" di HTC.

Tuttavia, supponendo che l'app di AlarmClock sia presente, si dovrebbe essere in grado di ottenere un cursore dal proprio fornitore di contenuti. Vedere this project come esempio.

+5

Il provider di contenuti per l'app AlarmClock di serie non fa parte di Android SDK. Il fornitore potrebbe cambiare senza preavviso nelle versioni future di Android. L'identità dell'app stock AlarmClock stessa potrebbe cambiare nelle versioni future di Android. – CommonsWare

+0

grazie amico ... ya ho già fatto riferimento al post che hai menzionato e m tenendo in considerazione che la sveglia per android sarà presente ... Ma il progetto è ultra cool ... ha la maggior parte delle cose di cui ho bisogno ... lo controllerà e risponderà a tempo debito ... Grazie ancora amico .. – JaVadid

+0

@CommonsWare Grazie per l'informazione Marco, credo che abbia ragione ma alcuni clienti non ascoltano. Sto pensando di abbandonare l'idea, ma ho dovuto fare delle ricerche per dar loro un po 'di umorismo. Grazie ancora ... – JaVadid

8
final String tag_alarm = "tag_alarm"; 
Uri uri = Uri.parse("content://com.android.alarmclock/alarm"); 
Cursor c = getContentResolver().query(uri, null, null, null, null); 
Log.i(tag_alarm, "no of records are " + c.getCount()); 
Log.i(tag_alarm, "no of columns are " + c.getColumnCount()); 
if (c != null) { 
    String names[] = c.getColumnNames(); 
    for (String temp : names) { 
     System.out.println(temp); 
    } 
    if (c.moveToFirst()) { 
     do { 
      for (int j = 0; j < c.getColumnCount(); j++) { 
       Log.i(tag_alarm, c.getColumnName(j) 
         + " which has value " + c.getString(j)); 
      } 
     } while (c.moveToNext()); 
    } 
} 

Utilizzare questo codice ... e otterrete tutti i dettagli. Godere!

+2

Questa è in realtà una buona risposta e dovrebbe essere accettata. Quelle registrys mantengono i valori di allarme, è solo che hanno bisogno di essere trattati come date int a seconda di cosa si fa con loro. Vero anche che l'app sveglia potrebbe non essere presente – quinestor

+0

C'è qualche autorizzazione che devo aggiungere a manifest.xml? – Niranjan

+0

Per la cronaca, questo non funziona su Android Wear – MonoThreaded

3

Per il debug, è possibile utilizzare "adb allarme dumpsys della shell" dalla console.

Problemi correlati