2012-01-03 17 views
1

新しいブックマークをウェブブラウザに追加しようとしているときにブックマークが追加されますが、ブックマークを追加した後で例外が発生します。ブラウザで新しいブックマークを追加するときに強制終了する

Browser.saveBookmarkが呼び出されると、urlとtitleの値を入力して「保存」を選択できます。項目は正常に一覧に追加されます。次に、「申し訳ありません!アプリケーションブラウザ(プロセス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); 

しかし、これは私に同じエラーを与えました!

このバグやブックマークを追加する他の解決策の回避策はありますか?事前に おかげ

+0

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

+0

いいえ、私はすでにこれらのアクセス許可を持っています: \t

答えて

2

編集:

変更この:この

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; 
} 

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

、それを試してみてください。

+0

編集を参照してください。そしてtitleとurl varsをデータで置き換えます。 – Jaxedin

+0

ああ、あなたはその細部を言及しなかった。これは答えではありません。 – Jaxedin

+0

私は間違ったRagetzazだったので、あなたが私に与えたコードは、Browser.saveBookmark(..)というメソッドと同じことをやっていますが、試してみると同じエラーが出ました: –

関連する問題