2012-01-03 5 views
1

내 웹 브라우저에 새 북마크를 추가하려고하는데 북마크가 성공적으로 추가되었지만 북마크를 추가하면 예외가 발생합니다. 설명 :브라우저에서 새 북마크 추가시 강제 종료합니다.

Browser.saveBookmark가 호출되면 url과 title 값을 채운 다음 "save"를 선택할 수 있습니다. 항목이 목록에 추가되었습니다. 그런 다음 메시지에 "죄송합니다! 응용 프로그램 브라우저 (프로세스 com.android.browser)가 예기치 않게 중지되었습니다. 다시 시도하십시오."

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

if (item.getItemId() == MENU_ADD) { 
    Browser.saveBookmark(this, "New Bookmark", "http://"); 
    return true; 
} else 
    return false; 
} 

로그 캣의 스택 추적은 다음과 같다 :

01-03 14:47:25.862: ERROR/AndroidRuntime(1720): FATAL EXCEPTION: Thread-11 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at android.os.Handler.<init>(Handler.java:121) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at android.webkit.WebIconDatabase$EventHandler.<init>(WebIconDatabase.java:46) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at android.webkit.WebIconDatabase$EventHandler.<init>(WebIconDatabase.java:46) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at android.webkit.WebIconDatabase.<init>(WebIconDatabase.java:43) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at android.webkit.WebIconDatabase.getInstance(WebIconDatabase.java:293) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at com.android.browser.Bookmarks.addBookmark(Bookmarks.java:136) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at com.android.browser.AddBookmarkPage$SaveBookmarkRunnable.run(AddBookmarkPage.java:136) 
    01-03 14:47:25.862: ERROR/AndroidRuntime(1720):  at java.lang.Thread.run(Thread.java:1096) 

내가 이미 북마크 (대신 Browser.saveBookmark)를 추가하려면이 방법을 시도 여기

내 소스 코드입니다 :

Intent i = new Intent(Intent.ACTION_INSERT, android.provider.Browser.BOOKMARKS_URI); 
    i.putExtra("title", title); 
    i.putExtra("url", url); 
    this.startActivity(i); 

그러나 이것은 나에게도 같은 오류가 발생했습니다!

따라서이 버그 또는 북마크를 추가하는 다른 해결책에 대한 해결책은 무엇입니까? 사전에 감사

+0

http://stackoverflow.com/questions/4589062/create-browser-bookmark-from-app .Permission issue? – Jaxedin

+0

아니요, 이미 다음 권한이 있습니다. \t

답변

2

편집 :

변경이 :

if (item.getItemId() == MENU_ADD) { 
    Browser.saveBookmark(this, "New Bookmark", "http://"); 
    bookmarkAdapter.notifyDataSetChanged(); 
    return true; 
} else 
    return false; 
} 

if (item.getItemId() == MENU_ADD) { 
    Intent i = new Intent(Intent.ACTION_INSERT, android.provider.Browser.BOOKMARKS_URI); 
    i.putExtra("title", title); 
    i.putExtra("url", url); 
    this.startActivity(i); 
    return true; 
} else 
    return false; 
} 

그것을 시도하십시오.

+0

편집을 참조하십시오. 그리고 title과 url vars를 데이터로 대체하십시오. – Jaxedin

+0

아, 그 세부 사항은 언급하지 않았다. 이것은 답이 아닙니다. – Jaxedin

+0

나는 Ragetzaz가 잘못되었다. 그래서 당신이 나에게 준 코드는 Browser.saveBookmark (..)와 같은 일을하지만, 시도했을 때 나에게 같은 오류를 주었다. –

관련 문제