以编程方式添加书签

时间:2011-12-28 18:28:51

标签: android

我正在尝试使用Browser.saveBookmark

从我的应用程序添加书签
  protected void saveBookmark(String title, String url){
    Browser.saveBookmark(this, title, url);
  }

用户可以修改我的标题并按“保存书签”的窗口正确显示,但是当我按保存时,浏览器意外关闭

12-28 18:07:20.864: E/AndroidRuntime(560): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
12-28 18:07:20.864: E/AndroidRuntime(560):  at android.os.Handler.<init>(Handler.java:121)
12-28 18:07:20.864: E/AndroidRuntime(560):  at android.webkit.WebIconDatabase$EventHandler.<init>(WebIconDatabase.java:46)
12-28 18:07:20.864: E/AndroidRuntime(560):  at android.webkit.WebIconDatabase$EventHandler.<init>(WebIconDatabase.java:46)
12-28 18:07:20.864: E/AndroidRuntime(560):  at android.webkit.WebIconDatabase.<init>(WebIconDatabase.java:43)
12-28 18:07:20.864: E/AndroidRuntime(560):  at android.webkit.WebIconDatabase.getInstance(WebIconDatabase.java:293)
12-28 18:07:20.864: E/AndroidRuntime(560):  at com.android.browser.Bookmarks.addBookmark(Bookmarks.java:136)
12-28 18:07:20.864: E/AndroidRuntime(560):  at com.android.browser.AddBookmarkPage$SaveBookmarkRunnable.run(AddBookmarkPage.java:136)
12-28 18:07:20.864: E/AndroidRuntime(560):  at java.lang.Thread.run(Thread.java:1096)

我从UI线程调用此操作,所以我不知道发生了什么。

我尝试过使用WRITE_HISTORY_BOOKMARKS permission

<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" />

但没有任何改变。

我在仿真器和Galaxy S上测试了这个。

1 个答案:

答案 0 :(得分:0)

看起来这可能是早期版本的Android

中的错误

http://code.google.com/p/android/issues/detail?id=11291