1

アプリで操作中にファイルが破損するという問題があります。ここここを参照してください。FileOutputStream が適切に閉じられていないように見えますが、この時点で、この問題が私のコードや使用しているライブラリではないことはほぼ 100% 確信しています。ストリームはフラッシュされ、適切に閉じられています。

問題が発生するのは、電話がメディア デバイスとして接続されていて、SD カードが Windows にアクセスできる場合のみであることがわかりました (例外はスローされず、すべてが正しく機能しているように見えますが、出力ファイルが破損しており、数バイトが不足しています - 終わり) -of-file 情報)。USB デバッグをオフにしても問題は解決しません。電話をコンピューターから切断してからアプリを実行すると、問題が修正されます。

私の質問は、どうすれば同じ修正をプログラムで達成できますか? 私が試してみました:

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_UNMOUNTED, Uri
                .parse("file://")));

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SHARED, Uri
                .parse("file://")));

これは何の影響もないようですが、ファイルはまだ破損しています。Google で検索しましたが、必要な操作が見つかりません。

それができない場合、最初にデバイスを切断するようにユーザーに警告するために何を確認できますか?

この特定のデバイスには、実際のリムーバブル SD カードがなく、Htc One GPE です。

4

0 に答える 0