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

안녕하세요 웹뷰 앱 제작중에 질문드립니다.

0 추천

웹뷰 앱 제작 중인데 질문드립니다.

1. 웹뷰에서 현재위치를 못잡고 application does not have sufficient geolocation permissons. 라는 에러가 뜨네요. 구글에 검색해서 아래와 같은 소스를 추가했음에도 에러가 사라지지않네요. ㅠㅠ 혹시 해결방법이 뭐가 있을까요?

 

 

mWebView = (WebView) findViewById(R.id.webView);

mWebView.setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
mWebSettings = mWebView.getSettings(); //세부 세팅 등록
mWebSettings.setJavaScriptEnabled(true); // 웹페이지 자바스클비트 허용 여부
mWebSettings.setSupportMultipleWindows(false); // 새창 띄우기 허용 여부
mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true); // 자바스크립트 새창 띄우기(멀티뷰) 허용 여부
mWebSettings.setLoadWithOverviewMode(true); // 메타태그 허용 여부
mWebSettings.setUseWideViewPort(true); // 화면 사이즈 맞추기 허용 여부
mWebSettings.setSupportZoom(false); // 화면 줌 허용 여부
mWebSettings.setBuiltInZoomControls(false); // 화면 확대 축소 허용 여부
mWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 컨텐츠 사이즈 맞추기
mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 브라우저 캐시 허용 여부
mWebSettings.setDomStorageEnabled(true); // 로컬저장소 허용 여부
mWebSettings.setGeolocationEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
    super.onGeolocationPermissionsShowPrompt(origin, callback);
    callback.invoke(origin, true, false);
}
});
컨텐츠 (120 포인트) 님이 2020년 4월 16일 질문

1개의 답변

0 추천
그저 콜백처리만 해주시면 안됩니다. 앱 사용시의 위치 권한에 대한 권한 받기 처리를 안해 주셔서 그런것입니다.

사용자에게 위치 권한을 받기위한 ActivityCompat.requestPermissions 실행 부분을 추가하세요
Elan's (760 포인트) 님이 2020년 4월 17일 답변
...