我正在尝试使用与Android开发者指南类似的ContentProvider进行阅读-从用户字典中读取。我不明白为什么我的光标总是0行。.当然,我已经添加了必要的权限。我试图将null更改为空数组或类似的东西,但是它不起作用。
任何想法?

有我的源代码

    public void sampleMethodWithContentProviders() {

//        String contentUriStr = "content://user_dictionary/words";
//        Uri wordsUri = Uri.parse(contentUriStr);

        String[] projectionString = {
                UserDictionary.Words._ID,
                UserDictionary.Words.WORD,
                UserDictionary.Words.LOCALE
        };

        String selectClause = null;

        String[] selectArgs = null;

        String order = null;

        Cursor cursor = getContentResolver().query(UserDictionary.Words.CONTENT_URI, projectionString, selectClause, selectArgs, order);


        Log.i("Cursor", cursor == null ? "null" : "obiekt");
        for (String s : cursor.getColumnNames())
            Log.i("Cursor column name: ", s);
        Log.i("Num of cursor element: ", Integer.toString(cursor.getCount()));
        while (cursor.moveToNext())
            Log.i("a", "b");
    }


日志结果在那里


  12-01 00:02:54.530 11693-11693 / com.kros.withinpain I / Cursor:obiekt
  12-01 00:02:54.530 11693-11693 / com.kros.withoutpain
  I /游标列名称:: _id 12-01 00:02:54.530
  11693-11693 / com.kros.withoutpain I / Cursor列名称::单词12-01
  00:02:54.530 11693-11693 / com.kros.without Pain I / Cursor column name ::
  地区12-01 00:02:54.530 11693-11693 / com.kros.withoutpain
  I /光标元素数量:: 0

最佳答案

从API 23起,已从Android中删除了对用户词典的访问,请参见this bug report...this stack overflow question...

似乎已关闭,因为“按预期工作”似乎对该功能有所滥用,因此将其删除。

如果您正在尝试仿真器,则可能要尝试使用APK和更早的APK。但是我回滚到21(Lollipop)的运气并不好。如果您只是尝试使用游标和内容解析器,那么我建议Muhammad Farag's answer to a similar question

关于android - 用户词典ContentResolver查询返回0行光标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34009849/

10-10 09:37