Словарь пользователя Запрос ContentResolver возвращает курсор в 0 строк

Я пытаюсь сделать так же чтение ContentProvider, как и в руководстве разработчика Android - чтение из пользовательского словаря. Я не могу понять, почему у моего курсора всегда 0 строк. Конечно, я добавил необходимое разрешение. Я пытался изменить нулевые значения на пустые массивы или аналогичные вещи, но это не работает. Любая идея?

Есть мой исходный код

    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.withpain 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 /: слово 12-01 00:02:54.530 11693-11693/com.kros.withoutpain Имя столбца курсора I:: языковой стандарт 12-01 00:02:54.530 11693-11693/com.kros.withoutpain I/Num элемента курсора:: 0

1 ответ

Доступ к пользовательскому словарю был удален из Android с API 23 и выше, см. Этот отчет об ошибке... и этот вопрос переполнения стека...

Кажется, это было закрыто, так как "работает как задумано", похоже, было некоторое злоупотребление функцией, и поэтому она была удалена.

Если вы экспериментируете с эмуляторами, вы можете попробовать один с более ранним APK. Однако мне не повезло откатиться назад до 21 ( Lollipop). Если вы просто пытаетесь поэкспериментировать с курсорами и определителями контента, я предлагаю ответить Мухаммеду Фарагу на аналогичный вопрос.

Другие вопросы по тегам