我在我的项目中使用Room Persistence作为数据库。
要使用Android SyncAdapter,我必须使用ContentProvider来访问数据库。
几周后,我发现Firebase Crashlytics中的database is locked (code 5)
发生了很多事情,正是ContentProvider想要通过Room访问/更新到数据库的地方。
更新1:
一些细节:
我正在将SyncAdapter与AbstractAccountAuthenticator一起用于与服务器同步某些数据。
ContentProvider使用Room的Dao类进行CRUD操作。
为什么会这样?