2016-04-27 8 views
1

Ich versuche zu erkennen, wenn Morgen, Abend, Nachtstunden in Android. Weil ich ein Licht anschalten möchte, wenn der Himmel dunkel ist. Wenn draußen sonnig ist, schalten Sie das Licht aus.In Android Detect Morgen, Abend, Nachtstunden

Ich kann Zeitbereich für Abend oder Morgen definieren. Zum Beispiel 6 bis 7 Uhr ist hell. Aber das ist in jedem Land und jeder Jahreszeit und auch jeden Monat anders. Gibt es irgendeinen Empfänger oder etwas in android oder Java dafür?

+0

Wie definieren Sie den Zeitbereich im Code? – Sanoop

+0

Sie müssen eine Regel definieren, bevor das Programm es tun kann, oder maschinell lernen. –

+0

@sanoop Ich möchte sagen wie eine Regel. Im Hintergrund definiere ich 6 bis 7 ist hell, dann schalten Sie das Licht aus. die anderen Stunden werde ich einschalten. – Zapateus

Antwort

2

Es gibt auch einige Algorithmen und Bibliotheken für die Berechnung der Sonnenauf- und -untergangszeiten (versuchen Sie, danach zu suchen).
Eg. hier ist eins: https://github.com/mikereedell/sunrisesunsetlib-java. Es benötigt den Ort und die Zeitzone, es kann Zeiten verschiedener Ereignisse im Zusammenhang mit der Sonne berechnen. Wenn Sie die Zeiten für Sonnenaufgang und Sonnenuntergang haben, können Sie überprüfen, ob die aktuelle Zeit in ihrem Bereich liegt (ob die Sonne gerade ist) oder nicht.