2

MediaStore プロバイダーのクエリに問題があります。この問題は一部のデバイスではまれによく見られますが、自分で再現することはできません。ユーザーのクラッシュログから取得しました。デバイスに関連している可能性があることがわかりました。一部の開発者は、HTC Desire での DB へのアクセスに問題がありました(Android 2.2.1 (Desire HD 1.72.405.3) でデータベース処理が機能しなくなりました)。私の問題は、HTC Desire (およびその他のデバイス) でも発生します。しかし、それは私の DB ではないので、パスを変更したり、MediaStore DB の管理方法を変更したりすることはできません。

これは私が得るコールスタックです:

"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

何が原因であるか、またはこれらのデバイスの回避策を知っていますか?

助けてくれてありがとう!

4

1 に答える 1

1

この問題はこれに関連している可能性があります:

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

于 2013-04-19T16:14:05.630 に答える