WebView Emulator Android не видит изменения геолокации, пока я не открываю ту же страницу в ChromeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 WebView Emulator Android не видит изменения геолокации, пока я не открываю ту же страницу в Chrome

Сообщение Anonymous »

У меня есть приложение для Android Barebones с веб -просмотром, которое загружает веб -страницу, которая хочет использовать геолокацию. Веб -страница получает геолокацию, но застряла. Возьмите новое место. Он продолжает получать старое место. Я бы предпочел не тратить время на выполнение дополнительных шагов все время.

Код: Выделить всё

    


< /code>
webview создан так: < /p>
            WebView(context).apply {
settings.setJavaScriptEnabled(true)
settings.setGeolocationEnabled(true)
setWebChromeClient(object : WebChromeClient() {
override fun onGeolocationPermissionsShowPrompt(origin : String, callback : GeolocationPermissions.Callback) {
callback.invoke(origin, true, false);
}
})
webViewClient = WebViewClient()
loadUrl("https://mywebsite.example.com")
}
< /code>
разрешения, запрошенные с помощью: < /p>
    private val requestPermissionLauncher =
registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
if (!isGranted) {
Toast.makeText(this,"Location permission not granted",Toast.LENGTH_LONG).show()
}
}

//...

when (PackageManager.PERMISSION_GRANTED) {
ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) -> {
}
else -> {
requestPermissionLauncher.launch(Manifest.permission.ACCESS_FINE_LOCATION)
}
}
< /code>
js на веб-сайте: < /p>
function getLocation() {
navigator.geolocation.getCurrentPosition(showPosition, showError, {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
});
}

function showPosition(position) {
someElement.innerHTML="Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
}

function showError(error) {
// ...
}
У меня также есть кнопка HTML для вызова getLocation по требованию. />https://gitlab.com/nucleware/toy-box/an ... _type=tags#
написано />https://uplink-geolocation.w3spaces.com/

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-the-same
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»