我正在尝试通过代码向Android浏览器添加书签。我能够在模拟器中成功完成此操作,但相同的代码无法在设备上运行。
注意:当我查询书签数据库时,URL就在那里。它只是无法在设备中显示。
这是我的代码段
ContentValues cv = new ContentValues();
cv.put(Browser.BookmarkColumns.TITLE, cursor.getString(1));
cv.put(Browser.BookmarkColumns.URL, cursor.getString(2));
cv.put(Browser.BookmarkColumns.BOOKMARK, 1);
Uri u = getContentResolver().insert(Browser.BOOKMARKS_URI,cv);
我哪里错了?
答案 0 :(得分:4)
我已经测试了你的代码片段并且它有效,书签被添加到我的浏览器本机应用程序(在2.2 HTC Desire上测试)。我必须添加到您的代码中的是AndroidManifest.xml中的权限:
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" />
答案 1 :(得分:0)
那是因为它被保存在错误的文件夹中。要显示它需要存储在浏览器主页文件夹(文件夹ID 0)中,但默认情况下它存储在文件夹ID 99中。请参阅我的控制台输出:
正确显示:title: Ringtones bookmark:1 folder:0
没有显示:title: Google bookmark:1 folder:99
不幸的是我到目前为止还没有发现改变这个......