1

ローカルの sqlite データベース ファイルにデータを保持するアプリがあります。私のデバイスの 1 つで、このデータを読み取ろうとすると、「無効なファイルパス」ダイアログが表示されることがあります。

データベースファイルパスを設定するために SQLiteHelper で使用したコード:

static String getEnvironmentPath() {
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
        return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "custom.db";
    } else {
        return "custom.db";
    }
}

実際、データベースが原因でこの無効なファイルパスのポップアップが表示されるかどうかさえわかりません。デバイスの 1 つで時々データベースからデータを読み取るだけで、このエラーが発生します。

最初は、私のケースはHow to open pdf file in package path in android? に似ていると思いましたか? 、しかし、同じデータベースファイルでデータの 75% が正常に読み取られ、25% がこのエラーを引き起こし、1 つのデバイスでのみ発生するのはなぜですか?

何が間違っている可能性がありますか?

ありがとう!

4

2 に答える 2

0

信じられないかもしれませんが、デバイスから Adob​​e Reader を削除すると問題が解決しました。私は自分のアプリでニュースを保持していますが、それらの一部には HTML のフラッシュ ビデオが含まれているため、Adobe Player がこれらを開こうとして、この「無効なパス」エラーが発生します。

于 2013-06-18T13:49:06.080 に答える