0

このコードを使用してフォルダーにアクセスします。

String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/somefolder";

SDカード付きのデバイスではこれで問題ありません。何が起こるかをテストするための内部メモリのみを備えたデバイスを持っていません.SDカードなしのデバイスでこれを実行するとどうなりますか? 内部メモリパスに自動的に設定されますか? アプリのユーザーは、このフォルダーを使用可能なメモリのルートに配置します。

内部パスを取得する方法はありますか?

このフォルダが存在するかどうかを確認するために両方のルートをチェックする方法はありますか?

4

1 に答える 1

0

「内部」ストレージには、いくつかの異なるタイプがあります。

最初のいくつかの Android デバイスには、OS とインストールされたアプリケーションが格納されるパーティションである内部ストレージがありました。最新のデバイスには、このタイプの内部ストレージが引き続き搭載されています (現在、ハイエンド デバイスでは、このタイプのストレージが 1 ~ 2 GB 見られます)。ユーザーは、このストレージ領域にアクセスできません (root 化されていない限り)。

もう 1 つのタイプの「内部」ストレージは、通常、スペースがはるかに大きく、ユーザーがアクセスできます。このタイプのストレージは、通常、SD カードが付属していないデバイスにあります。現在 (2012 年 6 月) では、このタイプのストレージの最も一般的なサイズは 8 GB または 16 GB です。

したがって、SD カードのないデバイスでは、メソッドは 2 番目のタイプの「内部」ストレージにつながるパスを返します。実際、基本的にここで起こったことは、フラッシュ メモリをデバイスに挿入し、基本的に OS をだまして SD カードと同じように認識させたことですが、アンマウント/削除のオプションはありません。

于 2012-06-03T13:47:09.090 に答える