問題の原因が何であるかはわかりません-バグのある古いAndroidバージョン、または何か間違ったことをしている場合、私の問題は、私が何をしても、AndroidがSDカードをマウントされていると報告することです. 物理的にタブレットに入っていなくても (archos 7o)..
public boolean saveToDisk(String filename, String header) {
/* first check to see if the SD card is mounted */
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
//throw some exception so we can display an error message
// XXX
return false;
}
try {
File root = Environment.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/bioz");
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File(dir, filename);
....
最初のテストは常に true です。getExternalStorageDirectory() は /mnt/storage で応答し、/mnt/storage/bioz が存在するかどうかを確認するテストは、ディレクトリが存在することを示します。
何が起こっているのか分かりますか?何か間違っているのでしょうか、API が壊れているのでしょうか、それとも何か他のことでしょうか?
ありがとう、レザ