Разрешить доступ к местоположению в Android WebView (совместимо до и после 23) - PullRequest
0 голосов
/ 24 мая 2018

[Android + Kotlin] Я не могу получить простое приложение для веб-просмотра Android, чтобы получить доступ к местоположению устройства (Примечание: я использую эмуляторы).Веб-просмотр работает просто отлично, за исключением того, что я никогда не вижу подсказки, чтобы разрешить местоположение, и мне никогда не дают данные о местоположении.Мой файл манифеста включает в себя следующее:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Мой класс активности выглядит следующим образом:

class WebViewActivity : AppCompatActivity() {

    class ModifiedWebChromeClient: WebChromeClient() {
        override fun onGeolocationPermissionsShowPrompt(origin: String?, callback: GeolocationPermissions.Callback?) {
            callback!!.invoke(origin, true, false);
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_blind_spot_web_view)

        val webView: WebView = findViewById(R.id.webView)
        val webSettings = webView.settings
        webSettings.javaScriptEnabled = true
        webSettings.setGeolocationEnabled(true)

        val client = ModifiedWebChromeClient()
        webView.webChromeClient = client

        webView.loadUrl("https://www.example.com")
    }
}

Что еще мне нужно для этой работы?Уровень API 23 и выше выдает ошибку:

Caught security exception while registering for location updates from the system. The application does not have sufficient geolocation permissions.

Ниже уровня 23 я не вижу ошибки, но также не вижу никакой информации о местоположении.Я не уверен, что делать здесь.Буду также признателен за ответ в Котлине.

1 Ответ

0 голосов
/ 31 января 2019

Попробуйте добавить это

<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...