0

私のアプリケーションで内部メモリと外部(SDカード)メモリのサイズを表示しようとしています。私のコードはkitkatとapi以下のバージョンで正常に動作しますが、My appはMarshmallowロリポップ。これは私のコードです...MarshMallowの内部メモリサイズと外部メモリサイズを取得

上記のAPIバージョンのメモリサイズを取得するソリューションを教えてください...? 。

ロリポップで
+0

アプリのクラッシュで取得外部および内部ストレージのためのbeolwコードを参照してください。あなたはそれを説明していません。したがって、NullPointerException。なぜこの例外は報告されませんでしたか? – greenapps

答えて

1

やマシュマロあなたが
Environment.getExternalStorageDirectoryを(使用する必要があります)getAbsolutePath();

の代わりに外部ストレージパスを取得するSystem.getenv( "SECONDARY_STORAGE"); `` null`なのでを返すことができます; `System.getenv( "SECONDARY_STORAGEは")ので

>はアンドロイド5.0

public static String getTotalInternalMemorySize() { 
      File path = Environment.getDataDirectory(); 
      StatFs stat = new StatFs(path.getPath()); 
      long blockSize = stat.getBlockSize(); 
      long totalBlocks = stat.getBlockCount(); 
      return formatSize(totalBlocks * blockSize); 
     } 

     public static String getAvailableExternalMemorySize() { 
       File path = Environment.getExternalStorageDirectory(); 
       StatFs stat = new StatFs(path.getPath()); 
       long blockSize = stat.getBlockSize(); 
       long availableBlocks = stat.getAvailableBlocks(); 
       return formatSize(availableBlocks * blockSize); 
      } 
+0

それは私のために働いた。ありがとうございます ! –

+0

しかし、それはあなたにSDカードのサイズを与えるものではありません。では、なぜその機能を削除しましたか? – greenapps

関連する問題