본문 바로가기

[Android] WebView 에서 getGeoLocation이 동작하지 않을 때( getGeoLocation is not working on Android Webview) onGeolocationPermissionsShowPrompt 웹뷰를 사용하다가 보면 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.. 더보기
[Android] Fragment Width(넓이) mRootLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { mFragmentWidth = getView().getWidth(); mFragmentHeight = getView().getHeight(); if (mFragmentWidth > 0) { ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, mFragmentWidth); mMapView.setLayoutParams(param.. 더보기
[Android] Uri로 Bitmap 추출 Bitmap bitmap = null; try { bitmap = Images.Media.getBitmap(getActivity().getContentResolver(), uri); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 더보기
[Javascript] 정규식. 전화번호, 휴대폰 번호 추출. 검증 웹페이지를 제작시, 전화번호를 입력받는 화면이 있다.아래와 같은 화면... 운전자 연락처(숫자만 입력) (필수입력) 파라미터, 화면 디스플레이시 하이픈(-)을 요구할 때,정규식을 사용하면 편하다. //가운데가 4자리 "01012345678".replace(/^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})-?([0-9]{3,4})-?([0-9]{4})$/, "$1-$2-$3") //가운데가 3자리 "0101234567".replace(/^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})-?([0-9]{3,4})-?([0-9]{4})$/, "$1-$2-$3") 이렇게 정규식을 사용하면 가운데가 3자리든 4자리든 010-1234-5678, 010-123-4567 의 형태로 .. 더보기
[Javascript] 아이폰에서 브라우저 백버튼 클릭시 새로고침 안되는 문제. 크롬기반 브라우저 및 안드로이드에서는 브라우저 백버튼을 클릭하였을 때, 이전 페이지 정보를 refresh 한다.하지만 IOS 사파리의 경우 그렇지 않다.페이지에 대한 모든 정보를 사파리에서 저장하고 있기 때문이다.흔히 Hybrid App, Single Page Web 을 구현하게 되면(일반 web도 마찬가지...),간혹 로그인 체크라던가, 필요한 데이터를 받기 위해 document 의 ready에서 ajax를 통해 API들을 요청하게 된다. 하지만 아이폰(사파리)에서 브라우저 백버튼을 눌렀을 때, ready 내의 fuction이 정상 동작하지 않게 된다.이를 해결하기 위해선 window 객체의 onpageshow라는 이벤트를 구현해야 아이폰에서 브라우저 백버튼을 눌렀을 때도, 원하는 결과를 얻을 수 있다.. 더보기
[Android] 다이얼로그(Dialog) 닫기 방지. 닫히지 않게 하기. 다이얼로그로 로그인 화면이나, 비밀번호 입력창 등을 만들기도 한다. 가장 많이 사용 하는 것이 AlertDialog.Builder 를 사용할텐데, 기존에 제공하는 리스너들을 Overriding 해서 사용할 경우 Ok, Cancel 버튼 클릭시 원하지 않게 창이 닫기게 된다. 아래의 방지코드를 넣게 되면 창이 닫기지 않게 된다. dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface arg0) { Button positiveButton = ( (AlertDialog) arg0 ).getButton(AlertDialog.BUTTON_POSITIVE); //Or Alert.. 더보기
[HTML5] 안드로이드 및 아이폰에서 input file 사용시 카메라 호출하기. 오랜만에 글쓰네요.요즘 하이브리드 웹을 많이 사용하시는데요.네이티브 코딩없이 카메라 호출하는 법에 대해 쓰겠습니다.안드로이드의 경우 2.2버전 이하는 카메라를 호출 할 수 없습니다.(4.0이상, 2.2 이하 에서만 확인해봤습니다.ㅠ 2.3단말기가 없어서)아이폰은...IOS 6 이상에서만 확인해 봤습니다.(아마 5이하는 안될듯 하네요)흔히 input file을 사용할때 type만 file로 옵션을 주는데요.이러면 lg단말기나, 베가 단말에서는 카메라 라는 항목이 보이지 않을 수 있습니다.(삼성은 카메라 라는 항목이 뜨더군요. 얼마나 뜯어 고친건지...;)하지만 또는 accept 에 파일 형식을 쓰고, capture 항목에 camera 라고 써주면 직접 카메라가 호출되는 것을 볼 수 있습니다.안드로이드의 경.. 더보기
[Android] R.java 가끔 생성안될때 대부분 개발자들은 이클립스를 사용할때, Build Automatically 옵션을 꺼놓고 사용할 것이다.(나만그런가??)아무튼...언제부터인지는 모르겠는데 수동으로 빌드를 할 경우 반응이 없는 경우가 있는데Build Automatically를 체크하고 다시 시도해보길 바란다.그러면 간단히 해결될 수도 있다..(물론...경우에 따라서 안될수도 있음!!^^;;) 더보기
[Android] 안드로이드 SDK 업데이트 이후 R.java 생성 오류 안드로이드 SDK Tools가 업데이트(Ver.22 이상) 된 이후로 R.java 생성하는데 오류가 생겼다. 이는 Android SDK Build-tools를 설치하면 간단히 해결된다. 출처 : ALPHAFACTORY 더보기
[Android] GCM Test URL 일단..내가 필요하기때문에 간단하게 만들어 놨지만, 기능들은 점점 추가될 예정입니다. ( 지금은 하나만 저장되지만, 추후에,, 리스트 저장등..ㅎ) 링크 : GCM 테스트 더보기