Launcher application - loadHotseats()


froyo 에서 기본 launcher 를 보면 밑단에 브라우저 아이콘이 있다.

이 아이콘 실행 시에 문제가 발생한다.


1. Browsing 이 가능한 application 을 추가로 설치 하고

2. 기본 브라우저의 home page 셋팅을 www.naver.com 으로 한다.

3. launcher 에서 브라우저 실행 시에 application 선택 팝업이 뜬다.

4. 기본 브라우저 선택 시에 www.naver.com 이 아닌 www.google.com 으로 접속이 된다.

5. 그러나 기본 브라우저를 default 브라우저로 선택 한 후에 실행을 하면 www.naver.com 으로 접속이 된다.

==> 기본 브라우저가 default 브라우저 일 경우, 선택해야 하는 경우 서로 다른 페이지로 접속을 한다..



launcher 쪽 소스를 좀 보자..

소스를 잘 모르지만 대충 찾아 보니 loadHotseats() 라는 함수에서 뭔가 관련한 것들이 이루어 지는 것 같다..

분석해 보면......


ACTION_VIEW 값과 www.google.com url 을 가진 intent 를 생성한다.

launcher 쪽 strings.xml 과 array.xml 을 보면 알 수 있다.

package manager 를 통해서 해당 intent 가 실행 될 수 있는 application 정보를 가져 온다..

------ 소스 -------

ResolveInfo bestMatch = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);

List<ResolveInfo> allMatches = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

------------------

1. default application 이 셋팅 되지 않은 경우 로그

Best match for intent: ResolveInfo{31f4b488 com.android.internal.app.ResolverActivity p=0 o=0 m=0x0}
All matches:
 --> ResolveInfo{31e74db8 com.android.email.activity.Welcome p=0 o=0 m=0x208000}
 --> ResolveInfo{31e56e58 com.android.browser.BrowserActivity p=0 o=0 m=0x208000}

:  이 경우는 위에서 만들어진 intent ( ACTION_VIEW, url : google ) 로 진행이 됨.
  
   그렇기 때문에 google 로 접속이 되는 것임.


2. default 로 기본 브라우저가 셋팅 된 경우 로그

Best match for intent: ResolveInfo{31e826d8 com.android.browser.BrowserActivity p=0 o=0 m=0x208000}
All matches:
  --> ResolveInfo{31e645b0 com.android.email.activity.Welcome p=0 o=0 m=0x208000}
  --> ResolveInfo{31e589f0 com.android.browser.BrowserActivity p=0 o=0 m=0x208000}

:이 경우는 BrowserActivity 가 match 가 되기 때문에 intent 가 ACTION_MAIN 으로 변경이 되어 진행됨.
  
  ACTION_MAIN 으로 browser 가 실행이 되기 때문에 browser 에 저장된 homepage 주소를 읽어 와
www.naver.com으로 정상적으로 접속이 됨.



# 결론적으로 launcher 에서는 무조건 www.google.com 을 기본 homepage url 로 강제 셋팅 하기 때문에

위와 같은 문제점이 있는 것임.









by 수영사랑 | 2010/08/26 15:50 | Browser Application 관련 | 트랙백 | 덧글(0)

트랙백 주소 : http://skyswim42.egloos.com/tb/3823187
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶