2017-04-19 123 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模擬器並在那裏檢查您的代碼。