7

SDカードにファイルを書き込む必要のあるアプリケーションを開発しています。GetExternalStoragePublicDirectory()を使用して、書き込むディレクトリを決定しています。

開発中の電話が2台あります。Android 4.0.4(アイスクリームサンドイッチ)を実行しているGoogle Nexus Sでは、SDカード上のディレクトリを返します。ただし、Android2.3.5を実行しているSamsungExhibit 2では、電話のUSBストレージに直接書き込みます。

SDカードを強制する方法はありますか?

編集:

getExternalStoragePublicDirectory()とgetExternalStorageDirectory()が常に「/ mnt /sdcard/」を返していることがわかりました。これは実際にはSDカードのマウント場所ではありません。Samsung Exhibit 2では、これがUSBストレージの場所です。カードのマウント場所は「/mnt/ sdcard/external_sd」です。この実際のsdの場所を返す方法はありますか?

カメラや他のアプリがそれを行う方法を見つけたようです。カメラアプリには、「電話」と「メモリカード」のオプションを備えた「ストレージ」設定があります。「メモリーカード」を指定すると、実際にSDカードに画像が保存されます。

4

2 に答える 2

2

この実際のsdの場所を返す方法はありますか?

いいえ、申し訳ありませんが、現在のAndroidSDKにはありません。

カメラや他のアプリがそれを行う方法を見つけたようです。

ほとんどの場合、それらはデバイスの製造元によって作成されたものであるか、またはを介して情報を読み取ってMediaStoreいます。これにより、両方のソースにインデックスが付けられます。

于 2012-04-19T15:17:39.627 に答える
0

SDカードに書き込みたい場合は

File mySdCardPath = Environment.getExternalStorageDirectory();
File dir = new File (mySdCardPath.getAbsolutePath() + "/yourDirectoryName");
于 2012-04-13T23:11:40.847 に答える