2012-04-11 7 views
20

私はしばらくの間、アプリケーションを開発しており、多くのデバイスでテストしています。突然、Motorola Xoom Family Edition(Honeycomb 3.1)での作業が停止しました。アプリケーションを実行しようとするたびに、getExternalFilesDir()を呼び出すと失敗し、その呼び出しはFileではなくnullを返します。getExternalFilesDir()はnullを返します(許可の問題ではありません)

私の研究から、同様の問題を抱えている人は、WRITE_EXTERNAL_STORAGEが見つからないか、答えが得られなかったり、Froyoのバグについて話していました。これに該当するものはありません。もう一度、他のデバイスで正常に動作し、WRITE_EXTERNAL_STORAGE権限があり、数分前までこのデバイスでも動作していました。

この問題の原因は何か、またはプログラムで防止する方法はありますか。

答えて

22

タブレットを再起動すると問題が解決しました。単純な再起動では非常にまれで修正された、ちょっと変わったかもしれません。私は、バグに遭遇するすべてのユーザーが理解していることを期待するのではなく、これを防ぐための強固な方法を持っていたいと思っています。

+3

私のために働いた。 OSのheisenbugよりも悪いことはありません。 –

+0

モトローラのXoomファミリエディションは、私が行った他のテストや開発から、多くのバグを抱えており、ソフトウェア的にはあまり構築されていないことに注意してください。他の、より一般的なXoomsは問題ありません。うまくいけば、Q4 2012アイスクリームサンドイッチアップデートが役立ちます。 –

+6

Nexus 7デバイスで同じ問題が発生しました。再起動しましたが、この問題は奇妙です。 –

6

2.3.6(カーネル2.6.35.7-FF1)を実行しているSamsung SCH-1405(VZW Galaxy II)でも同じ問題が発生します。何ヶ月も外部ファイルディレクトリを取得してからbamしても問題はありません。NULLを返すようになります。電話を再起動して問題が解決しました。良い予兆ではありません。

私は、この電話機をUSBデバッグモードに出し入れしてスクリーンショットを取得し、Macから電話機のファイルシステムをアンマウントすることなく、電話機からUSBケーブルを取り出していた可能性があります。これは私の新しい行動です。

android.os.Environment.getExternalStorageState()から返された結果を「共有」と表示していますが、電話が再起動されたときに結果が「マウント」されています。したがって、外部ストレージが「共有」されていると携帯電話が考えると、アプリが外部ストレージにアクセスすることを許可していないようです。これは推測です。

0

これは、デバイスが「Mass Storage」モードにある場合に発生します。デバイスに応じてMTPまたは "Charge Only"に変更した場合、それは機能するはずです。これは、外部データストレージが技術的にデバイスにマウントされておらず、コンピュータにマウントされているためです。

関連する問題