2014. 7. 8. 12:07

작업을 진행하던 중

 

안드로이드 webview와 폰 자체에 기본적으로 내장되어 있는 브라우저를 구분해야 할 일이 생겼다.

 

기본적으로 오는 user agent 값을 가지고 비교를 해보았으나

 

별다른 방법이 없어 보이는데...

 

그래서 확인한 방법이 ....

 

Android의 WebSettings를 확인해 보았다..

 

거기에 setUserAgentString 메소드가 존재...

 

혹시나...

 

여기에 임의의 값을 집어 넣고 테스트...

 

HTTP_USER_AGENT 의 값을 찍어보니

 

webview에서 호출할때는 위에 넣은 임의의 값이 출력된다..

 

이것을 이용하면 webview에서 호출한 것인지 여부를 판단할 수 있을 것 같다.

 

단, setUserAgentString 메소드에 임의의 값을 넣으면 그 값만이 나오기 때문에

 

javascript나 css에서 브라우저를 구분하려 한다면 이에 대한 보완이 필요하다.

 

그래서 처리한 방법...

 

1. WebSettings의 getUserAgentString 메소드를 이용해서 user agent 값을 가져옴.

2. 1에서 가져온 값에 임의의 값을 추가

3. setUserAgentString 메소드에 임의의 값을 추가한 문자열을 입력.

 

위와 같이 해서 해결함.

 

 

 

 

 

 

 

 

 

'Android' 카테고리의 다른 글

Android 푸시  (0) 2014.11.20
webView에서 javascript함수 호출시 에러  (0) 2014.06.26
GCM 작업을 하다가...  (0) 2014.06.05
mp3파일의 재생속도를 조절하는데 성공!!!  (0) 2014.01.02
전화번호 가져오기  (0) 2013.12.27
Posted by 작은0악마