最初に、この回答を生成するための情報は@CommonsWareによって提供されました。他の人が学ぶことができないようにここに投稿されているので、ポイントを取得できます。問題は、Samsungタブレットの保存場所を管理する方法でしたテストを理解することが最も重要です。 SDカードがエミュレータにマウントされていると機能しません 以下は、SDカードがマウントされているかどうかをテストするための私の非常に奇妙なコードです。次に、保管場所を管理できるようにする改訂されたコード
File fi = new File("storage/");
File[] lst = fi.listFiles();//
String top = String.valueOf(lst[1]);
String bot = String.valueOf(lst[0]);
if(bot.contains("-")){
STORAGE_LOCATION = 1;
}
if(top.contains("storage/enc_emulated")){
STORAGE_LOCATION = 0;
}
public String getThePath(){
File removable = ContextCompat.getExternalFilesDirs(this,null)
[STORAGE_LOCATION];
if(STORAGE_LOCATION == 1){
THE_PATH = String.valueOf(removable);
THE_PATH = THE_PATH + "/Documents/";
}
if(STORAGE_LOCATION == 0){
THE_PATH = String.valueOf(removable);
THE_PATH = THE_PATH + "/INTERNAL/";
Toast.makeText(getApplicationContext(),"NO SD CARD",
Toast.LENGTH_LONG).show();
}
return THE_PATH;
}