Android 用户字典ContentResolver查询返回0行游标
我正在尝试做一个类似于android开发者指南的ContentProvider阅读——从用户字典中阅读。我不明白为什么我的光标总是0行。。当然,我已经添加了所需的权限。我试图将空值改为空数组或类似的东西,但它不起作用。 有什么想法吗 这是我的源代码Android 用户字典ContentResolver查询返回0行游标,android,android-contentresolver,Android,Android Contentresolver,我正在尝试做一个类似于android开发者指南的ContentProvider阅读——从用户字典中阅读。我不明白为什么我的光标总是0行。。当然,我已经添加了所需的权限。我试图将空值改为空数组或类似的东西,但它不起作用。 有什么想法吗 这是我的源代码 public void sampleMethodWithContentProviders() { // String contentUriStr = "content://user_dictionary/words"; //
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.withoutpain I/光标:obiekt
12-01 00:02:54.530 11693-11693/com.kros.withoutpain
I/光标列名::_id12-01 00:02:54.530
11693-11693/com.kros.withoutpain I/光标列名::word 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
从API 23以上的Android中删除了对用户词典的访问,请参见和 这似乎已经被关闭,因为“按预期工作”似乎有一些滥用的功能,所以它被删除
如果您正在使用模拟器进行试验,您可能希望使用和更早的APK在模拟器上进行试验。然而,我没有太多的运气回滚到21(棒棒糖)。如果您只是尝试使用游标和内容解析器,那么我建议不要求输入方法使用
UserDictionary
提供程序,许多方法依赖于自己的内部列表或数据库。如果您的设备上没有使用提供程序的键盘,则您的字典很可能是空的。您是在真实设备或模拟器上测试的吗?这本字典可能是empty@FletcherJohns-我正在测试设备,可能问题正如上面评论中提到的-索尼正在预装xperia专用键盘。哇,这是2015年提出的一个问题:-)不管怎样-尽管有任何可能测试或检查,感谢您的参与:-)