웹뷰를 사용하다가 보면 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); }
'Programming > Android' 카테고리의 다른 글
[Android] Android에서 "Unknown error merging manifest" (0) | 2014.02.20 |
---|---|
[Android] XML drawable 을 코드로 만들기(xml selector를 java code로 변환) (1) | 2014.02.20 |
[Android] Fragment Width(넓이) (0) | 2014.02.06 |
[Android] Uri로 Bitmap 추출 (0) | 2014.01.09 |
[Android] 다이얼로그(Dialog) 닫기 방지. 닫히지 않게 하기. (0) | 2013.12.17 |