2

我在查询 MediaStore 提供程序时遇到问题。这个问题对于一些罕见的设备很常见,但我自己无法重现。我从用户崩溃日志中得到它。我发现它可能与设备有关。一些开发人员在访问 HTC Desire 上的数据库时遇到问题(数据库处理在 Android 2.2.1 (Desire HD 1.72.405.3) 上停止工作)。我的问题也出现在 HTC Desire(和其他一些设备)上。但它不是我的数据库,所以我无法更改路径或更改 MediaStore 数据库的管理方式。

这是我得到的调用堆栈:

"android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 522)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:182)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
    at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
    at android.content.ContentResolver.query(ContentResolver.java:370)
    at android.content.ContentResolver.query(ContentResolver.java:313)

查询以标准方式调用:

contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[] { "*" }, null, null, null);

它发生在我对 MediaStore 进行查询的应用程序中的所有情况下。

具体设备:GT-I9003,HTC Desire,AM_Stick02,X10.Dual,HTC Sensation,C5155 和APIs:4.1.1;4.2.2;4.0.4,4.1.2

请问,您知道它会导致什么,或者您知道这些设备的一些解决方法吗?

感谢您的任何帮助!

4

1 回答 1

1

这个问题可能与此有关:

https://android.googlesource.com/platform/external/sqlite.git/+/6ab557bdc070f11db30ede0696888efd19800475%5E!/#F0

于 2013-04-19T16:14:05.630 回答