Dostaję tę awarię w mojej aplikacji Android, gdy próbuje odczytać bazę danych systemu Android sms. Kod do odczytu bazy danych android SMS jest podobny do następującego fragmentu:android.database.sqlite.SQLiteException: Nie można obniżyć wersji bazy danych z wersji 58 na 55 dla bazy danych systemu Android sms
String SMS_URI = "content://sms/"; Uri uri = Uri.parse(SMS_URI); Cursor cursor = myContext.getContentResolver().query(uri, null, null, null, null);
Jest to jedyne miejsce, gdzie moja aplikacja współpracuje z android bazy SMS. W bazie danych sms zostanie zgłoszony błąd obniżenia wersji.
otrzymuję następujący katastrofę:
java.lang.RuntimeException: android.database.sqlite.SQLiteException: Can't downgrade database from version 58 to 55
at to.talk.utils.ExceptionThrowingFutureTask$1.run(ExceptionThrowingFutureTask.java:32)
at java.lang.Thread.run(Thread.java:856) Caused by: java.util.concurrent.ExecutionException: android.database.sqlite.SQLiteException: Can't downgrade database from version 58 to 55
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:223)
at java.util.concurrent.FutureTask.get(FutureTask.java:82)
at to.talk.utils.ExceptionThrowingFutureTask.done(ExceptionThrowingFutureTask.java:22)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
... 1 more Caused by: android.database.sqlite.SQLiteException: Can't downgrade database from version 58 to 55
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:184)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
at android.content.ContentResolver.query(ContentResolver.java:372)
at android.content.ContentResolver.query(ContentResolver.java:315)
at to.talk.app.features.growth.SMSReader.readSmsAndGetInviteList(SMSReader.java:39)
Aplikacja działa dobrze przez większość czasu i nie wywala mi lokalnie, jednak wywala to dla niektórych użytkowników. W urządzeniach \ środowiskach, w których się psuje, nie ma zauważalnych wzorców. Byłbym bardzo wdzięczny, gdyby ktoś mógł mi pomóc tutaj.
znalazłem podobną katastrofę tutaj:
[https://crash-stats.mozilla.com/report/list?signature=android.database.sqlite.SQLiteException%3A%20Can%27%27t% 20downgrade% 20database% 20from% 20version% 2033% 20to% 2032% 20at% 20android.database.DatabaseUtils.readExceptionFromParcel% 28DatabaseUtils.java% 29] [1] Chociaż w tym przypadku może to być jedna z ich własnych baz danych, w przeciwieństwie do mojej, gdzie baza danych sms na Androida.
Czy to ten sam powód? http://stackoverflow.com/questions/15018025/cant-downgrade-database-from-version-2-to-1 –