2

私のFirefoxブラウザからブックマークを取得するための小さなAndroidウィジェットを書きたいのですが、私のコードは次のとおりです。

Cursor myCursor=Browser.getAllBookmarks(main.getContentResolver());

動作していません。このカーソルは常に空です。私のすべてのブラウザー (firefox、chrome) にはたくさんのブックマークがあるので、とても奇妙です。

私はこのコードを見つけました:

String query = Browser.BookmarkColumns.BOOKMARK+"=1";
Cursor crs=main.getContentResolver().query( UriProvider.QUERY
                , columns
                , query
                , null
                , sortOrder
        );

しかし効果は同じで、結果は空です。

android.provider.Browser クラスの性質を理解するのに問題があります。データベーステーブルへのインターフェースですか?このテーブルで見つけることができるデータの種類 (firefox、chrome、またはその両方からのブックマーク???)。このテーブルが ff/chrome と同期されている場合は?

提案をありがとう...

よろしくマリオ

4

2 に答える 2

3
String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL };
    String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 =bookmark
    mCur = this.managedQuery(Browser.BOOKMARKS_URI, proj, sel, null, null);
    this.startManagingCursor(mCur);
    mCur.moveToFirst();

    String title = "";
    String url = "";

    if (mCur.moveToFirst() && mCur.getCount() > 0) {
        while (mCur.isAfterLast() == false && cont) {

            title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));
            url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
            // Do something with title and url

            mCur.moveToNext();
        }
    }

AndroidManifest.xml に権限を追加しましたか
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>

于 2013-11-07T04:08:21.213 に答える