Открыл ли я машину времени?Вот самая короткая полная демонстрационная программа, которую я мог написать для демонстрации своей машины времени.
Действия
Код: Выделить всё
package com.example.locationagedemo
import android.Manifest
import android.content.Context
import android.content.pm.PackageManager
import android.location.Location
import android.location.LocationListener
import android.location.LocationManager
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Looper
import android.util.Log
import android.widget.TextView
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import java.util.Calendar
class MainActivity : AppCompatActivity() {
private lateinit var locationManager: LocationManager
private lateinit var locationListener : LocationListener
private lateinit var ageTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
ageTextView = findViewById(R.id.ageTextView)
locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
nowListen()
}
fun nowListen() {
if (ContextCompat.checkSelfPermission(
this, Manifest.permission.ACCESS_FINE_LOCATION
) == PackageManager.PERMISSION_GRANTED
) {
locationListener = object : LocationListener {
override fun onLocationChanged(location: Location) {
var locationAge = Calendar.getInstance().timeInMillis - location.time
ageTextView.setText(String.format("Location Age %d ms", locationAge))
}
@Deprecated("Deprecated in Java")
override fun onStatusChanged(provider: String?, status: Int, extras: Bundle?) {
}
override fun onProviderEnabled(provider: String) {}
override fun onProviderDisabled(provider: String) {}
}
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
2000L, 0.0F, locationListener, Looper.getMainLooper()
)
} else
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 1234
)
}
override fun onRequestPermissionsResult( requestCode: Int, permissions: Array,
grantResults: IntArray
) {
nowListen()
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
}
}
Код: Выделить всё
Код: Выделить всё
Итак, для всех вас, Гуру Android GPS, мы здесь: -
Либо
а) Я обнаружил машина времени
b) Я действительно глуп и упускаю что-то очевидное (не первый раз Ха-ха-ха!)
c) В чем-то есть ошибка, которую я не вижу
d ) Что-то еще?
Что это???
Для всех остальных, пожалуйста, запустите это на своем реальном телефоне и сообщите мне модель телефона и если вы получите +ve или -ve возраста. Может, это всего лишь два моих Мото?
Подробнее здесь: https://stackoverflow.com/questions/781 ... d-try-it-f
Мобильная версия