SKLn-Rad / Xam.Plugin.Webview

Xamarin Plugin for a HybridWebView in PCL projects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Enable geolocation on Android

drmashu opened this issue · comments

Enable geolocation on Android.

    public class FormsWebViewChromeClient : WebChromeClient
    {

        readonly WeakReference<FormsWebViewRenderer> Reference;

        public FormsWebViewChromeClient(FormsWebViewRenderer renderer)
        {
            Reference = new WeakReference<FormsWebViewRenderer>(renderer);
        }

        public override async void OnGeolocationPermissionsShowPrompt(string origin, GeolocationPermissions.ICallback callback)
        {
            var permission = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
            if (permission != PermissionStatus.Granted)
            {
                var permissions = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
                if (!permissions.TryGetValue(Permission.Location, out permission))
                {
                    permission = PermissionStatus.Unknown;
                }
            }
            callback.Invoke(origin, permission == PermissionStatus.Granted, false); 
        }