Programming/Android

[Android] WebView 에서 getGeoLocation이 동작하지 않을 때( getGeoLocation is not working on Android Webview) onGeolocationPermissionsShowPrompt

Fimtrus 2014. 2. 18. 16:50

웹뷰를 사용하다가 보면 getGeoLocation을 사용할때가 있다.

아이폰에서는 전혀 문제 없이 동작하는데 

안드로이드! 이놈에서만 위치정보를 받지 못한다.

인터넷을 무쟈게 검색후..

해답 발견.

WebChromeClient의 아래 Method를 overriding하여 구성해줘야하는데

코드는 다음과 같다.


@Override
public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) {

	final String myOrigin = origin;
	final GeolocationPermissions.Callback myCallback = callback;

	CommonDialogs dialog = new CommonDialogs(MainActivity.this); //custom Dialog

	dialog.showAlertDialog(MainActivity.this, R.string.gps_agree, new DialogInterface.OnClickListener() {

		@Override
		public void onClick(DialogInterface dialog, int which) {
			myCallback.invoke(myOrigin, true, true);
		}
	}, new DialogInterface.OnClickListener() {

		@Override
		public void onClick(DialogInterface dialog, int which) {
			 myCallback .invoke(myOrigin, false, false);
		}
	});

//			super.onGeolocationPermissionsShowPrompt(origin, callback);
}


참고 : http://bbulog.tistory.com/archive/20131125