Добавить закладку в браузер хром на Android

Можно ли добавить закладку (по коду) в браузер Google Chrome Android? Кто-нибудь знает, как?


person Asaf Pinhassi    schedule 21.01.2013    source источник
comment
Обычно выбор вещей для добавления в закладки — это работа пользователя, а не кода.   -  person Paul    schedule 09.08.2013


Ответы (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"/>
person Farhan Munir    schedule 23.08.2013

URI для поставщика контента Chrome: «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.

person Kislingk    schedule 28.08.2013