로케이션 권한을 체크하셔서 없을 경우 해당 권한을 요청해야 할 것 같은데, 아래 코드가 되는지 테스트 해보시죠.
webView.setWebViewClient(new WebViewClient() {
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
// Check if location permission is granted or not
if (checkLocationPermission()) {
// Grant permission
callback.invoke(origin, true, false);
} else {
// Deny permission
callback.invoke(origin, false, false);
}
}
});
웹뷰의 GeolocationPermission.Calback에서 앱의 로케이션 권한이 있는지 체크하여 없으면 로케이션 권한을 요청하고 권한허가 시에는 해당 콜백을 다시 호출하는 행태로 처리하시면 되는 걸로 보이네요.
저도 테스트는 안해봤기 때문에, 자세한 내용은 아래 블로그를 참조하셔서 처리하시기 바랍니다.
https://xabaras.medium.com/android-webview-handling-geolocation-permission-request-cc482f3de210