마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

인앱 브라우저 위치권한 요청 어떻게 해야 ㅎㅏ나요~?

0 추천

웹뷰 형태로 어플 구동중에 있씁니다.

네이버 빠른길찾기를 링크 걸어서 위치를 자동으로 받아 오려고 하는데 위치를 못받아 오고 있씁니다.

WebChromeClient 로 호출했습니다.

어플 실행이 위치 권한 여부 물어봐서 항상 허용으로 했는데도 안되고 있네요..

내위치를 클릭시 위치를 가져오게 하려면 어떻게 해야 할까요?

 

 

 

바우보리 (120 포인트) 님이 2023년 6월 4일 질문
바우보리님이 2023년 6월 4일 수정

1개의 답변

0 추천

로케이션 권한을 체크하셔서 없을 경우 해당 권한을 요청해야 할 것 같은데, 아래 코드가 되는지 테스트 해보시죠.

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

spark (227,830 포인트) 님이 2023년 6월 4일 답변
...