2017-03-01 12 views
0

こんにちは私は外部のstorage.firstにフォルダを作成しています.Sdカードが存在するかどうかを確認する必要があります。私の携帯電話では、redmi mobile.Belowを使用しています。私は私の内部ストレージをチェックしました。私は何をcreated.iは非常に多くのコードを試していたフォルダを見つけられませんでしたme.iも読んで追加し、外部の許可を追加してください。 私のコードは次のとおりです。 `ファイルエクスプローラで表示されないフォルダを作成する

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

'外部記憶装置にフォルダを作成しています。最初に、Sdカードが存在するかどうかを確認する必要があります。外部ストレージディレクトリは、リムーバブルマイクロ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 all..i marshmallow..nowの実行時アクセス許可を追加するのを忘れてしまった – lucky

0

この

のようないろいろ書いてみてください
if(Environment.MEDIA_MOUNTED.equals(Environnement.getExternalStorageState())) 
{ 
    File f = new File(Environment.getExternalStorageDirectory(), "/myappfile"); 
    if (!f.exists()) { 
     if.mkdirs(); 
    } 
} 
関連する問題