Enable geolocation on Android
drmashu opened this issue · comments
NAGASAWA Takahiro commented
Enable geolocation on Android.
NAGASAWA Takahiro commented
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);
}