2017-03-01 128 views
0

嗨,我創建文件夾在外部storage.first我需要檢查Sd卡是否存在或不在我的手機我沒有SD卡。我使用的是紅米mobile.Below是我的code.I dnt sd卡bt我越來越sd卡被掛載。然後我檢查了我的內部存儲我找不到我創建的文件夾我曾嘗試過這麼多的代碼,請幫助我。我還增加了讀寫外部許可。 我的代碼是:`創建文件夾不可見在文件資源管理器

String state; 
     state=Environment.getExternalStorageState(); 

     if(Environment.MEDIA_MOUNTED.equals(state)){ 

      Toast.makeText(this, "Sd card found", Toast.LENGTH_SHORT).show(); 
      File root=Environment.getExternalStorageDirectory(); 

      File dir=new File(root.getAbsolutePath()+"/myappfile"); 

      if(!dir.exists()){ 
       dir.mkdir(); 
      } 


     } 
     else { 
      Toast.makeText(this, "SD card not found", Toast.LENGTH_SHORT).show(); 
     }` 
+0

哪個Android版本正在嘗試它?如果它是較高的v6(API 23),則需要請求運行時權限在外部存儲器 –

+0

'dir.mkdir();'中寫入。您沒有檢查返回值。您應該檢查它,因爲它可能無法創建目錄。如果失敗,向用戶顯示敬酒信息。並返回。不要繼續執行代碼。 – greenapps

+0

'我在外部storage.first創建文件夾,我首先需要檢查Sd卡是否存在。完全沒有,因爲外部存儲目錄與可移動的micro SD卡無關。外部存儲始終存在。 – greenapps

回答

0

試試這個代碼 -

Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 

if(isSDPresent) 
{ 
    // yes SD-card is present 
} 
else 
{ 
// Sorry 
} 

來源 - https://stackoverflow.com/a/7429264/1649353

而且還要檢查Environment.isExternalStorageRemovable()

+0

'//是的SD卡存在'。廢話。外部存儲將存在。與微型SD卡無關。 – greenapps

+0

這就是爲什麼我寫了檢查Environment.isExternalStorageRemovable() –

+0

@tthank你所有..我忘了添加棉花糖的運行時權限..現在它的工作 – lucky

0

成才嘗試這樣

if(Environment.MEDIA_MOUNTED.equals(Environnement.getExternalStorageState())) 
{ 
    File f = new File(Environment.getExternalStorageDirectory(), "/myappfile"); 
    if (!f.exists()) { 
     if.mkdirs(); 
    } 
} 
相關問題