sách gpt4 ai đã đi

android.database.sqlite.SQLiteException: Không thể hạ cấp cơ sở dữ liệu từ phiên bản 58 xuống 55 cho cơ sở dữ liệu tin nhắn Android

In lại Tác giả: IT Prince Thời gian cập nhật: 2023-10-29 06:26:37 27 4
mua khóa gpt4 Nike

Tôi gặp lỗi này khi ứng dụng Android của tôi cố gắng đọc cơ sở dữ liệu tin nhắn SMS của Android. Mã để đọc cơ sở dữ liệu SMS của Android tương tự như đoạn mã sau:

Chuỗi SMS_URI = "content://sms/"; Uri uri = Uri.parse(SMS_URI); Con trỏ cursor = myContext.getContentResolver().query(uri, null, null, null, null);

Đây là nơi duy nhất ứng dụng của tôi tương tác với cơ sở dữ liệu tin nhắn SMS của Android. Lỗi hạ cấp đang được báo cáo cho cơ sở dữ liệu SMS.

Tôi gặp lỗi sau:

 java.lang.RuntimeException: android.database.sqlite.SQLiteException: Không thể hạ cấp cơ sở dữ liệu từ phiên bản 58 xuống 55
tại to.talk.utils.ExceptionThrowingFutureTask$1.run(ExceptionThrowingFutureTask.java:32)
tại java.lang.Thread.run(Thread.java:856) Do: java.util.concurrent.ExecutionException: android.database.sqlite.SQLiteException: Không thể hạ cấp cơ sở dữ liệu từ phiên bản 58 xuống 55
tại java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:223)
tại java.util.concurrent.FutureTask.get(FutureTask.java:82)
tại to.talk.utils.ExceptionThrowingFutureTask.done(ExceptionThrowingFutureTask.java:22)
tại java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
tại java.util.concurrent.FutureTask.setException(FutureTask.java:124)
tại java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
tại java.util.concurrent.FutureTask.run(FutureTask.java:137)
tại java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
tại java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
tại java.util.concurrent.FutureTask.run(FutureTask.java:137)
tại java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:150)
tại java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:264)
tại java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
tại java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
... 1 nữa Do: android.database.sqlite.SQLiteException: Không thể hạ cấp cơ sở dữ liệu từ phiên bản 58 xuống 55
tại android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:184)
tại android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
tại android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
tại android.content.ContentResolver.query(ContentResolver.java:372)
tại android.content.ContentResolver.query(ContentResolver.java:315)
tại to.talk.app.features.growth.SMSReader.readSmsAndGetInviteList(SMSReader.java:39)

Ứng dụng hoạt động tốt hầu hết thời gian và không bao giờ gặp sự cố cục bộ với tôi, nhưng với một số người dùng khác thì nó lại gặp sự cố. Không có mô hình rõ ràng nào trong các thiết bị/môi trường mà nó gặp sự cố. Nếu ai đó có thể giúp tôi thì tôi sẽ rất biết ơn.

Tôi đã tìm thấy một vụ tai nạn tương tự đây .

Mặc dù trong trường hợp này nó có thể là một trong những cơ sở dữ liệu riêng của họ và cơ sở dữ liệu của tôi là cơ sở dữ liệu tin nhắn SMS của Android.

1 Câu trả lời

Có thể tôi đã đến muộn nhưng đây là ý kiến ​​của tôi.

Nhà cung cấp bạn đang sử dụng (nhà cung cấp SMS trên thiết bị của bạn) sẽ đọc và ghi vào cơ sở dữ liệu mà bạn (với tư cách là ứng dụng của bên thứ 3) không có quyền truy cập. Nó đóng vai trò như một phương tiện trung gian giữa hai bạn.

Có vẻ như thiết bị gặp phải ngoại lệ này đã cập nhật cơ sở dữ liệu SMS (hay chính xác hơn là hạ cấp). Điều này có thể xảy ra do nâng cấp phiên bản Android (bởi OEM) hoặc do vô tình thay đổi một số thứ khi có quyền truy cập root.

Đôi khi, khi thiết bị nhận được bản cập nhật hệ điều hành Android, có sự cố xảy ra. Có thể do cài đặt không đúng hoặc do bản cập nhật có vấn đề. Trong trường hợp này, có người đã làm hỏng nhà cung cấp dịch vụ SMS.

Vấn đề cốt lõi là bạn (với tư cách là ứng dụng phần 3) không thể làm gì được về vấn đề này, ngoại trừ việc gói tất cả các truy vấn nhà cung cấp SMS của bạn bằng lệnh try-catch). Tất cả các ứng dụng sử dụng cùng một nhà cung cấp sẽ gặp phải cùng một vấn đề như bạn.

Liên quan đến android.database.sqlite.SQLiteException: Không thể hạ cấp cơ sở dữ liệu từ phiên bản 58 xuống 55 cho cơ sở dữ liệu tin nhắn Android, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/16669499/

27 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com