2010-06-30 10 views
9

Ist es möglich, eine Liste von Alarmen in der Alarmanwendung von Android gespeichert zu bekommen? Ich mache eine Anwendung, die nur die in der Alarmanwendung eingestellten Alarme anzeigen muss.Erhalten Sie alle Alarme in der Alarmanwendung gespeichert

Thanx

+1

AFAIK wissen, es gibt eine Menge von Clock Alarm Anwendungen da draußen, alle verwenden wahrscheinlich ihre eigenen Daten. – Pentium10

Antwort

14

Es gibt eine gute Erklärung auf this post in Bezug auf diese. Es gibt keine Garantie dafür, dass die AlarmClock-App auf jedem Gerät installiert ist, auf dem Ihre App installiert ist. Zum Beispiel, viele der HTC-Telefone ersetzen es mit HTCs eigenen "World Clock" -App.

Wenn Sie jedoch davon ausgehen, dass die App AlarmClock vorhanden ist, sollten Sie einen Cursor von seinem Inhaltsanbieter abrufen können. Siehe this project als ein Beispiel.

+5

Der Inhaltsanbieter für die App "AlarmClock" ist nicht Teil des Android SDK. Der Anbieter kann sich in zukünftigen Versionen von Android ohne Vorankündigung ändern. Die Identität der WeckerClock-App selbst könnte sich in zukünftigen Android-Versionen ändern. – CommonsWare

+0

thanx buddy ... ya ich habe bereits die Post erwähnt, die Sie erwähnt haben, und m in Erwägung, dass Android-Wecker wird b präsentieren ... Aber das Projekt ist ultra cool ... es hat die meisten Dinge, die ich brauche ... werde es überprüfen und rechtzeitig antworten ... Danke nochmal, dude .. – JaVadid

+0

@CommonsWare Danke für die Info Mark, ich denke, ich habe Recht, aber einige Kunden hören nicht zu. Ich denke daran, die Idee fallen zu lassen, musste aber etwas recherchieren, um sie zu befriedigen. Nochmals vielen Dank ... – 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()); 
    } 
} 

Verwenden Sie diesen Code ... und Sie erhalten alle Details. Genießen!

+2

Das ist eigentlich eine gute Antwort und sollte akzeptiert werden. Diese Registries enthalten die Alarmwerte, sie müssen nur als int-Daten behandelt werden, je nachdem, was Sie damit machen. Stimmt auch, dass die Wecker-App möglicherweise nicht vorhanden ist – quinestor

+0

Gibt es irgendwelche Berechtigungen, die ich zu manifest.xml hinzufügen muss? – Niranjan

+0

Für die Aufzeichnung funktioniert dies nicht bei Android Wear – MonoThreaded

3

Für Debugging-Zwecke können Sie "adb shell dumpsys alarm" von der Konsole aus verwenden.