0

mkdirs() を使用してディレクトリを動的に作成しようとしたところ、ディレクトリが正常に作成され、作成されたディレクトリにファイルがコピーされました。タブレット (xoom) で新しいディレクトリを確認できますが、PC に接続して一部のファイルをコピーすると、ディレクトリが表示されません。

私に何ができる?

EDT: これは私がやったことです:

File dirs = new File(Environment.getExternalStorageDirectory()+"/MyDir/");
    dirs.mkdirs();

なにが問題ですか?

EDT2: このスレッド (http://stackoverflow.com/questions/6218572/creating-a-folder-programmatically-on-a-xoom) ですべてを試しましたが、うまくいきませんでした。提案?

PS: SD カードを再スキャンするアプリを見つけました。ディレクトリを作成してこのアプリを使用すると、完全に機能します。SDカードを再スキャンする方法を知っている人はいますか?

4

3 に答える 3

1

かなり古い投稿ですが、追加URIを必要としない回答を追加すると考えられました。

// initiate media scan and put the new things into the path array to
// make the scanner aware of the location and the files you want to see
MediaScannerConnection.scanFile(context, new String[] {filePath}, null, null);
于 2014-10-16T05:29:50.540 に答える
0

内部メモリとSDカードを備えた一部のタブレット(xoomが含まれていると思います)は、ファイルの保存方法が異なります。getExternalStorage はフォルダ /mnt/SDCard を指していますが、これは内部メモリです。SDCard にアクセスするためのパスは /mnt/SDCard/SDCard です (奇妙なことです)。

そのため、タブレットの SDCard の実際のマウントを確認し、Environment.getExternalStorageDirectory() の値を確認する必要があります。そうしないと、SDCard ではなくタブレットのファイル システムに保存されます。

編集: これはおそらく xoom のメディア ドライバーの問題であり、ユーザーが PC にマウントするときに SD カードをスキャンする必要があります。

マウント解除してマウントできる SD カードを再スキャンするには、Gallery アプリケーションを使用して SD カードを更新するか、プログラムで呼び出します sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath())));

于 2012-08-27T19:41:06.510 に答える