【问题标题】:Android Query for Bookmarks not filtering in Jelly BeanAndroid 查询未在 Jelly Bean 中过滤的书签
【发布时间】:2012-08-16 15:26:23
【问题描述】:

寻求有关在不同版本的 Android 中查询的帮助。我有以下代码返回书签光标。我正在尝试过滤浏览器以仅返回实际书签的 url,而不仅仅是浏览器历史记录。它适用于 3.1 版,但在我的新 Nexus 7 上,它不会按书签过滤,而是返回光标中的所有浏览器历史记录。非常感谢任何见解。我想我遇到了过滤和内容解析器查询不注意选择参数但似乎找不到任何信息的问题。谢谢。

String[]   mColumnStrings = 
{ 
  Browser.BookmarkColumns.TITLE, 
  Browser.BookmarkColumns.URL, 
  Browser.BookmarkColumns._ID,
  Browser.BookmarkColumns.BOOKMARK

 }; 

 try{
   bookmarksCursor =   getActivity().getContentResolver().query(Browser.BOOKMARKS_URI, mColumnStrings, Browser.BookmarkColumns.BOOKMARK+ " = 1 ", null , Browser.BookmarkColumns.URL + " ASC"); 
   getActivity().startManagingCursor(bookmarksCursor);


    return bookmarksCursor;

【问题讨论】:

    标签: android filter bookmarks android-contentresolver


    【解决方案1】:

    它对我来说工作正常...我在 AVD 上对其进行了测试...实际上 Android 4.1 已经有一些默认书签...打印 Browser.BookmarkColumns.BOOKMARK 以及验证天气结果是否已添加书签.. .

    您可以使用此方法专门为您验证...

    private void varify(Cursor bookmarksCursor) {
      bookmarksCursor.moveToFirst();
      while(bookmarksCursor.moveToNext()) {
        Log.v("title", bookmarksCursor.getString(0));
        Log.v("url", bookmarksCursor.getString(1));
        Log.v("id", bookmarksCursor.getString(2));
        Log.v("bookmark", bookmarksCursor.getString(3));
      }
    }
    

    希望这行得通...

    如果您认为这回答了您的问题,请将其标记为“已接受”。这将提高您和我的声誉得分。

    【讨论】:

    • 感谢测试。我也会在模拟器上试试。
    • 有趣的是,在我的 Nexus 7 上,日志还显示所有浏览历史记录,而不仅仅是书签。但是,在 4.1 模拟器上运行时,日志仅正确显示书签。所以我运行 4.1.1 的新 Nexus 7 不喜欢内容解析器的查询???
    • 嗯...有趣...尝试一件事...在查询的参数列表中使用 'Browser.BookmarkColumns.BOOKMARK+ " = ?", new String[] {"1"}'方法。
    • 感谢您的建议,但没有运气。我尝试了各种 selection 和 selectionArgs 参数的组合,希望能触发查询,但还没有任何效果。我找到了以下链接,看起来在 4.1.1 中进行了一些更改,但不确定问题是否已链接。 code.google.com/p/android/issues/…。再次感谢。
    • 抱歉,我发现我的设备实际上已与我电脑上的 Chrome 收藏夹同步。很奇怪,我猜 Jelly Bean 在您添加帐户时会开箱即用。以前在我的其他安卓标签或手机上从未见过。我在 Nexus 7 上看到了我电脑上的大量收藏,而不是浏览历史记录。有趣的是,它们没有出现在我的 Nexus 7 上的 chrome 浏览器中。我什至从设备中删除了我的谷歌帐户,书签仍然显示在列表视图中,其中包含来自我的 pc 收藏的数百个 URL,而不是 6 个书签我在设备上。现在我知道了。
    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多