Androidアプリから、ブラウザのブックマークの情報にアクセスしたいけど、パーミッションの設定が必要?
Androidアプリから、ブラウザのブックマークの情報を取得、設定を行うには、コンテントプロバイダという機能を使用します。
前に、通話ログのパーミッションの記事で説明しましたが、同じような感じです。
ブラウザのブックマークの情報へのアクセスには、Android SDK1.5(API Level3)より以前は、パーミッションの設定は不要でした。
ですが、1.5以降のバージョンでは、パーミッションの設定が必要になります。
例えば、ブックマークの一覧を取得するには、以下のような感じにコードを記述します。
Cursor c = Browser.getAllBookmarks(getContentResolver());
これが、SDK1.5以降では、パーミッションの設定無しではSecurityExceptionが発生します。
冒頭で紹介した通話ログのパーミッションの記事で紹介しているのと同じように、ログを見れば何のパーミッションを設定すればよいかがわかります。
今回の場合は、
com.android.browser.permission.READ_HISTORY_BOOKMARKS
を設定しなければなりません。