我在查询MediaStore提供程序时遇到问题。这个问题在某些设备中很少见,但我自己无法重现。我从用户崩溃日志中获取它。我发现它可能与设备有关。一些开发人员在HTC Desire(Database handling stoped working on Android 2.2.1 (Desire HD 1.72.405.3))上访问他们的数据库时遇到了问题。我的问题也出现在HTC Desire(以及其他一些设备)上。但它不是我的数据库,所以我无法改变路径或改变MediaStore DB的管理方式。
这是我得到的一个callstack:
"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 和API:4.1.1; 4.2.2; 4.0.4,4.1.2
请您知道它可能导致什么,或者您知道这些设备的解决方法吗?
感谢您的帮助!
答案 0 :(得分:1)