2017-03-01 236 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(); 
    } 
} 
相关问题