我在使用https://github.com/emilsjolander/sprinkles保存数据时遇到崩溃的Android应用。它只在三星s8中崩溃。
java.lang.SecurityException:无法为用户0找到提供者KickObject;期望为此找到有效的ContentProvider 权威 在android.os.Parcel.readException(Parcel.java:1948) 在android.os.Parcel.readException(Parcel.java:1894) 在 android.content.IContentService $存根$ Proxy.notifyChange(IContentService.java:801) 在 android.content.ContentResolver.notifyChange(ContentResolver.java:2046) 在 android.content.ContentResolver.notifyChange(ContentResolver.java:1997) 在 se.emilsjolander.sprinkles.Model $ 1.onTransactionCommitted(Model.java:138) 在se.emilsjolander.sprinkles.Transaction.finish(Transaction.java:58) 在se.emilsjolander.sprinkles.Model.save(Model.java:81)
为什么会这样?
答案 0 :(得分:-1)
内容更改通知
Android 8.0(API级别26)更改ContentResolver.notifyChange()的方式 和registerContentObserver(Uri, boolean,ContentObserver)适用于针对Android 8.0的应用。这些API现在要求为其定义有效的ContentProvider 所有Uris的权威。使用相关定义有效的ContentProvider 权限将有助于保护您的应用免受内容更改 恶意应用程序,并防止您泄露潜在的私人数据 恶意应用程序。
https://developer.android.com/about/versions/oreo/android-8.0-changes.html#ccn