数週間前に HTC One V でアプリをテストしました。私のアプリが最初の実行時に外部ストレージの可用性を確認したところ、何もないことがわかりました。(getExternalStorageState()
結果に基づいて と を使用しましたgetExternalFilesDir(null)
)。
関連するstackoverflowスレッド(およびAndroidドキュメント)を読んだので、Google Playをサポートするデバイスは何らかの外部ストレージ(SDカードなど)を提供する必要があるという結論に達しました. Android の公式ホームページは、常に有効な場所を返す必要があることも暗示してgetExternalFilesDir
います (マウントされていない場合、または PC にマウントされている場合などを除く)。
テストの実行を許可してくれた HTC One V の所有者は、自分の電話に SD カードを入れていないと言いました。(外部ストレージが別のものである可能性があることは知っていますが、上記でわかるように、標準getExternalStorageState
呼び出しでは何もないことが返されました。つまり、HTC One V の内部ストレージは返されませんでした。)
アプリの外部ストレージの使用をオフにした場合 (代わりに電話のメモリに依存していた場合)、One V ですべて正常に動作しました。 Google の APK 拡張ファイルの可能性 - それには外部ストレージが必要です。
ベンダー/携帯電話事業者は、外部ストレージなし (この場合は SD カードなし) で電話を販売する権利を持っていますか? これは実際には開発者の質問ではないことはわかっていますが、ご覧のとおり、ここで何かが間違っているに違いありません。私が見る限り、One V には大きな内部ストレージがあるのに、なぜgetExternalStorageState
利用可能と報告しなかったのだろうか。