java.lang.SecurityException:无法找到用户0的提供者问题;期望找到有效的ContentProvider

时间:2017-10-31 10:12:58

标签: android

我正在使用se.emilsjolander:sprinkles:1.3.1用于将数据保存到我的数据库的库。当我升级到oreo sdk 26时,收到错误消息,说应该有一个有效的内容提供商。我没有得到如何用我的库实现它。有人能说清楚吗?我在这里添加堆栈。

 java.lang.SecurityException: Failed to find provider questions f user 0; expected to find a valid ContentProvider for this authority 10-31

1 个答案:

答案 0 :(得分:1)

在API级别26之前,您可以提供没有功能的存根ContentProvider,现在必须使用一些最小功能。 见https://developer.android.com/about/versions/oreo/android-8.0-changes.html#ccn

  

Android 8.0(API级别26)更改ContentResolver.notifyChange()和registerContentObserver(Uri,boolean,ContentObserver)对于面向Android 8.0的应用的行为。

     

这些API现在要求为所有Uris中的权限定义有效的ContentProvider。定义具有相关权限的有效ContentProvider将有助于保护您的应用免受恶意应用程序的内容更改,并防止您将潜在的私有数据泄露给恶意应用程序。