0

さまざまなエミュレートされたデバイスで Android Studio を使用して開発しています。

Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())

エミュレートされたデバイスで SD カードをエミュレートすることを選択するまで、常に false が返されました。

しかし、 http://developer.android.com/training/basics/data-storage/files.htmlのドキュメントには、具体的に次のように記載されています。

「常に 2 つのストレージ スペースがあり、API の動作は外部ストレージがリムーバブルかどうかに関係なく同じです。」

これは、外部ストレージが実際の SD カードを参照する必要はなく、内部ストレージである可能性があることを示しているようです。したがって、そのコードを機能させるために、エミュレートされた SD カードのサイズを 0 より大きくする必要があるのはなぜですか? 私は何を誤解または見逃していますか?

また、context.getExternalFilesDir は Environment.getExternalStorageState と同じディレクトリのフラグを参照していますか?

ありがとうございました、

トニー

4

1 に答える 1

0

外部ストレージが関連付けられていることをエミュレーターに示すには、SD カードのエミュレートを選択する必要があります。外部ストレージは、リムーバブル ストレージ メディア (SD カードなど) または内部 (非リムーバブル) ストレージのいずれかです。

はい、context.getExternalFilesDir は、ドキュメントに従って外部ファイル システム上のディレクトリへの絶対パスを返すため、Environment.getExternalStorageState と同じディレクトリのフラグを参照します。

于 2013-08-02T02:39:36.807 に答える