Rieccomi, scusa per la risposta di prima, non avevo letto bene il topic.
Ci sto sbattendo la testa da più di un'ora e, cavolo, non sono ancora riuscito a fargli digerire la timezone del telefono.
Ho però notato una cosa un po' strana:
Se si imposta una TimeZone errata, una qualunque stringa di testo come ad esempio
SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(
location, "cicciobaciccio");
mi viene fuori come orario di alba tramonto 05:17 - 19:39.
Se invece imposto una TZ valida, come "Europe/Rome" o "America/New_York" viene fuori lo stesso orario, molto vicino a quello corretto: 06:17 - 20:39.
Ripeto, questo capita sia con TZ "Europe/Rome" che con TZ "America/New_York".
"Etc/GMT+2" mi genera invece il solito orario sballato (05:17).
Comunque stavo pensando ad un possibile workaround: se la TZ "America/New_York" funziona correttamente, potresti convertire l'ora locare del telefono in questa TZ, calcolare l'alba/tramonto e poi riconvertire gli orari nella TZ locale.
Non capisco però perché le TZ di Roma e New York generino lo stesso orario di alba/tramonto.