поэтому я использую этот класс: http://praytimes.org/code/git/?a=viewblob&p=PrayTimes&h=093f77d6cc83b53fb12e9900803d5fa75dacd110&hb=HEAD&f=v1 / java / PrayTime. java для получения времени молитвы, и я хочу использовать его с широтой и долготой, которые я сделал с разрешениями местоположения, но когда я меняю значение часового пояса, я не даю точное время молитвы за город. Есть ли какой-нибудь способ заставить часовой пояс работать автоматически? так что, если парень в Марокко использует мое приложение, часовой пояс автоматически изменит часовой пояс Марокко, чтобы время молитвы давало точное время? Точно так же, если парень живет в Саудовской Аравии, Ираке, Испании .. et c
, спасибо заранее.
** Мой код, с которым у меня проблема **
@SuppressLint("MissingPermission")
private fun getLastLocation() {
if (checkPermission()) {
if (isLocationEnabled()) {
mFusedLocationClient.lastLocation.addOnCompleteListener(this) { task ->
var location: Location? = task.result
if (location == null) {
requestNewLocationData()
} else {
val resultimeZone = TimezoneMapper.latLngToTimezoneString(
location.latitude,
location.longitude
)
findViewById<TextView>(R.id.cityName).text = resultimeZone
val latitude: Double = location.latitude
val longitude: Double = location.longitude
var timeZone = 3.00
val timeZoneId = timeZone.toString()
val prayTime = praytime()
prayTime.timeFormat = prayTime.time12 // getTime12 is protected
prayTime.calcMethod = prayTime.makkah // Makkah
prayTime.asrJuristic = prayTime.shafii // Shafii (standard)
prayTime.adjustHighLats = prayTime.angleBased
prayTime.timeZone = prayTime.timeZone
prayTime.computeMidDay(prayTime.dhuhrMinutes.toDouble())
val offsets = intArrayOf(
0,
0,
0,
0,
0,
0,
0
) // {Fajr,Sunrise,Dhuhr,Asr,Sunset,Maghrib,Isha}
prayTime.tune(offsets)
val cal = Calendar.getInstance(TimeZone.getTimeZone(timeZoneId))
cal.time = Date()
val times: ArrayList<String> =
prayTime.getPrayerTimes(
cal,
latitude,
longitude,
timeZone
)
findViewById<TextView>(R.id.Fajr).text = times.get(0)
findViewById<TextView>(R.id.sabah).text = times.get(1)
findViewById<TextView>(R.id.dhuhr).text = times.get(2)
findViewById<TextView>(R.id.AzanTime).text = times.get(3)
findViewById<TextView>(R.id.maghreb).text = times.get(4)
findViewById<TextView>(R.id.Esha).text = times.get(6)
}
}
} else {
Toast.makeText(this, "Turn on location", Toast.LENGTH_LONG).show()
val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)
startActivity(intent)
}
} else {
requestPermission()
}
Вы можете использовать Java Для образцов