안드로이드 브라우저에서 Gelocation을 이용하는데 user denied geolocation이라고 나옵니다.


Geolocation을 이용해서 안드로이드 어플을 만드는 중입니다.

다름이 아니라 Geolocation은 안드로이드 보다 html에서 더 잘 지원해주는 것 같아서 안드로이드는 단순히 sdcard에 있는 html파일을 불러오게 해놓았고 그 불러온 html 파일은 Geolocation을 사용하여 위치추적을 하도록 구현했습니다.

근데 꼭 크롬으로 들어가면 위치추적이 안되고 user denied가 떠서 다른 브라우저로 이를 실행하고 싶은데 계속 실행하면 크롬으로 실행되는 것 같습니다.

해결방법을 정리해 봤습니다. 답변 부탁드립니다.

  1. 그래서 앱을 시작할때 어떤 브라우저로 실행할지 묻는 부분을 구현하고 싶은데 어떻게 하면 좋을까요?
  2. user denied Geolocation 을 고칠 수 있는 방법이 있을까요?

감사합니다.

  • 2016년 06월 07일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 06월 06일에 작성됨

조회수 461


1 답변


웹뷰에서 Geolocation을 사용하시려면 자바스크립트와 GeolocationPermissions.Callback등 몇가지 설정이 필요합니다.

//자바스크립트가 동작하도록 설정
webview.getSettings().setJavaScriptEnabled(true);

//Geolocaion을 사용하도록 권한 부여
webView.setWebChromeClient(new WebChromeClient() {
 public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
    callback.invoke(origin, true, false);
 }
});
  • 2016년 06월 07일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close