从内容提供者打开Realm实例陷入异常

时间:2019-03-24 14:25:38

标签: android realm android-contentprovider

我的应用程序具有Realm方案版本3。 当另一个应用程序查询我的内容提供商时,我会请求Realm的实例:

Realm.init(getContext()); Realm realm1 = Realm.getDefaultInstance();

提供商偶尔会陷入异常:

  

E / REALM_JNI:引发了异常:非法参数:提供   模式版本0小于最后设置的版本3。

它只会在一段时间内的第一次查询中发生,在任何时间都可以正常工作之后不久就查询提供程序。

我试图通过将Scheme版本显式设置为3来避免这种情况,但我仍然不时收到此异常

我什至尝试过这种方式:

Realm.init(getContext());
Realm realm1;     
try {
            // explicitly set scheme version and try to get new instance
            RealmConfiguration realmConfiguration = new RealmConfiguration
                    .Builder()
                    .schemaVersion(RealmSchemaVersion)
                   .migration(new RealmMigrationAgent())
                   .build();
            realm1 = Realm.getInstance(realmConfiguration);
        }
        catch (RealmException e) {
            // if failed - get existing one
            realm1 = Realm.getDefaultInstance();
        }

catch块中我仍然遇到相同的异常

如何解决此问题?

0 个答案:

没有答案