【发布时间】:2012-02-01 19:55:16
【问题描述】:
我正在尝试在我的网络浏览器中添加一个新书签,书签添加成功,但是,添加书签后程序抛出异常,我解释一下:
调用 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;
}
Logcat 中的堆栈跟踪如下:
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);
但是,这给了我同样的错误!
那么,这个错误的任何解决方法或添加书签的任何其他解决方案? 提前致谢
【问题讨论】:
-
不,我已经拥有这些权限:
标签: android