2016-12-09 4 views
2

Я разрабатываю приложение для просмотра веб-приложений. Фактически мой мобильный готовый веб-сайт будет отображаться в веб-представлении или в управлении веб-браузером в универсальном приложении Windows.C# Uwp приложение webbrowser control не может получить местоположение устройства

Использование веб-сайта непосредственно из Edge на мобильном устройстве (или хром на рабочем столе и т. Д.), Приложение уведомляет пользователя о разрешении использования местоположения как это должно (API геолокации HTML).

Однако в моем приложении с помощью управления веб-браузером этого не происходит. Он не может запустить сценарий или что-то в этом роде.

Я дал разрешение на доступ к местоположению пользователя в приложении, но все же никаких действий не предпринималось.

Что еще я могу сделать, чтобы получить местоположение пользователя в приложении, использующем веб-браузер?

+0

Я не уверен, какое приложение вы разрабатываете, разработали ли вы веб-приложение HTML5? Является ли «API геолокации HTML» [API геолокации в HTML5] (https://dev.w3.org/geo/api/spec-source.html)? Предоставьте более подробную информацию о своем приложении и API, который вы используете. –

+0

Это элемент управления веб-браузера в UWP, который отображает html-страницу. В html-странице geolocation api работает не только для веб-просмотра uwp – Antho

ответ

2

Я нашел решение.

Необходимо запустить событие PermissionRequested. И в этом случае вам нужно выполнить метод Allow объекта WebViewPermissionRequestedEventArgs. Что-то вроде этого:

private void webView_PermissionRequested(WebView sender, WebViewPermissionRequestedEventArgs args) 
    { 
     if (args.PermissionRequest.PermissionType == WebViewPermissionType.Geolocation) 
      args.PermissionRequest.Allow(); 
    }