2017-04-19 85 views
0

我试图使用ContentResolver来获取表的数据:UserDictionary.Words。ContentProvider:光标返回0行

无论我做什么,都不会在游标中检索行,因此我一直为cursor.getCount()获取0。

我把清单文件中所需要的权限:
使用许可权的android:NAME = “android.permission.READ_CONTACTS”
使用许可权的android:NAME = “android.permission.WRITE_CONTACTS”

这里是我的代码:

​​

我应该怎么做才能解决这个问题?

+0

您是否在运行时请求所有正确的权限? – thepoosh

+0

你可以用android应用程序[ContentProviderHelper](https://github.com/k3b/ContentProviderHelper)打开UserDictionary.Words吗?在我的android-4.4上它可以查询'UserDictionary.Words' – k3b

回答

0

您确定在您的字典数据库中有特定单词吗? 某些手机型号使用自定义键盘,不使用标准的android用户词典数据库。

转到设置 - >语言&输入 - >键盘 - >键盘使用。如果没有词典部分,很可能您当前的键盘不会将您的特定单词保存到数据库。

如果您在学习目的中制作应用程序,则有解决方法。从GooglePlay安装Google键盘,添加一些特定字词并重试。

P.S. API 23问题

另一个已知问题 - API 23错误,报告为here。因此,如果您的设备运行的是API 23,则可以使用不同的API创建Android模拟器并在那里检查您的代码。