웹뷰를 구성하고 하단에 홈버튼, 뒤로가기 버튼, 북마크 할수있게 화면을 만들었습니다.~

 

문제는 북마크 인데요~

북마크 버튼을 누르면  북마크 다이얼로그가 뜹니다.~

이름과  url 을 넣고   확인을 누르면

The application Browser(process com.android.browser) has stopped unexpected...

라는 Force  close 가 뜹니다.

 

그런데 어플을끄고 사파리를 키고 북마크를 확인해 보면  입력했던 url 이 추가 되어 있습니다.

그리고 다니 어플을 실행해서 북마크 버튼을 누르면 이번에는

Force  close 다이얼로그가 안뜨고.

성공 다이얼로그가 뜹니다.

 

DDMS 에 로그를 살펴보면.

 

can't create handler inside thread that has not called looper.prepare

이런 에러메세지가 있습니다.

 

어디선가 성공 메세지를 보내서 성공 다이얼로그를 보여주려고 하다가 난 에러같은데요...검색후 제생각엔요..

 

외부 Thread에서 UI 관련 함수를 호출하기 위해서는 Handler를 사용해야 합니다 -->> 검색후 알아낸 단서...
 
이 메세지로 검색한 결과 스레드와 관련되어 문제가 생기는것 같은데요..
제 소스에는 스레드와 상관 없는데 왜그럴까요.?
 
하지만 뭘 어찌 해야 하는지 모르겠습니다~
아시는분 방향만이라도 조언 부탁합니다.~~ㅠㅠ
 

public class MobileApp1Activity extends Activity {
    /** Called when the activity is first created. */
 WebView mWeb;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mWeb = (WebView) findViewById(R.id.web);
        WebViewClient client = new MyWebClient();
        mWeb.setWebViewClient(client);
        WebSettings set = mWeb.getSettings();
        // 스크롤바 겹치게 설정
        mWeb.setVerticalScrollbarOverlay(true);
        // 자바스크립트, 확대축소 허용
        set.setJavaScriptEnabled(true);
        set.setBuiltInZoomControls(true);
        mWeb.loadUrl("http://www.**");
    }
   
    public void mOnClick(View v) {
     switch (v.getId()) {
    case R.id.btnback:
    if(mWeb.canGoBack()) {
     mWeb.goBack();
    }
   break;
   
   case R.id.btnforward:
    if(mWeb.canGoForward()) {
     mWeb.goForward();
    }
   break;
   
   case R.id.btnlocal:
    mWeb.loadUrl("http://www.**");
    
   break;
   // 북마크

// 해당 아이디 의 버튼을 클릭하면 북마크 한다.
   case R.id.btnbookmark:
    Browser.saveBookmark(this, mWeb.getTitle(), mWeb.getUrl());
   break;
   


  }
    }
    class MyWebClient extends WebViewClient {
     public boolean shouldOverrideUrlLoading(WebView view, String url) {
      view.loadUrl("url);
   return true;
     }
    }
}