2

是否可以向 Google chrome 浏览器 Android 添加书签(通过代码)?有谁知道怎么做?

4

2 回答 2

2

是的,这是可能的,我可以做到。

如果您熟悉内容提供程序,默认和 chrome 都提供书签内容提供程序,因此我们可以使用它们轻松更改/插入书签。

ContentValues values = new ContentValues();
values.put(Browser.BookmarkColumns.TITLE, "Yahoo Inc.");
values.put(Browser.BookmarkColumns.URL, "http://www.yahoo.com");
values.put(Browser.BookmarkColumns.BOOKMARK, 1);
values.put(Browser.BookmarkColumns.DATE, 0);

// add bookmark to default browser              
getContentResolver().insert(Browser.BOOKMARKS_URI, values);

// add bookmark to Chrome
Uri chromeUri = Uri.parse("content://com.android.chrome.browser/bookmarks");
getContentResolver().insert(chromeUri,values);

不要忘记在清单中添加写权限:

<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
于 2013-08-23T12:26:28.723 回答
0

Chrome 的内容提供者的 URI 是“content://com.android.chrome.ChromeBrowserProvider/bookmarks”。但默认浏览器的 URI 是 Browser.BOOKMARKS_URI

ContentValues values = new ContentValues();
values.put(Browser.BookmarkColumns.TITLE, "title");
values.put(Browser.BookmarkColumns.URL, "http://ss.com");
values.put(Browser.BookmarkColumns.BOOKMARK, 1);
values.put(Browser.BookmarkColumns.CREATED, 0);
values.put(Browser.BookmarkColumns.DATE, 0);
values.put("parentId", 3); // just for Chrome

getContentResolver().insert(Uri.parse("content://com.android.chrome.ChromeBrowserProvider/bookmarks"), values);

已在 Android 4.04 和 Chrome 18.0.1 中测试。

于 2013-08-28T20:55:36.170 回答