Unity Androidのストレージ残量を取得(Android4.4.2、5.1.1、6.0.0による確認済み)
下記URLを参考にしました。
http://qiita.com/snaka/items/35a6389d35447c2db272
ボタンを押すとプラグイン内のメソッドを呼ぶようにサンプルプログラムを作る。
■クリックが押されると計算用処理を呼ぶ
using UnityEngine;
using System.Collections;
public class testClick : MonoBehaviour {
public void OnClick()
{
CallPlugIn.test();
}
}
■各サイズを取得
using UnityEngine;
using System.Collections;
public class CallPlugIn : MonoBehaviour {
public static void test()
{
Debug.Log("1");
var statFs = new AndroidJavaObject("android.os.StatFs", Application.temporaryCachePath);
Debug.Log("2");
// 指定したファイルシステムでアプリケーションが利用できる領域のブロックサイズを返します。
var availableBlocks = statFs.Call<long>("getAvailableBlocksLong");
Debug.Log("3");
// 指定したファイルシステムで利用できる領域のブロックサイズを返します。返されるブロックにはアプリケーションから利用できない領域を含みます。
var freeBlocks = statFs.Call<long>("getFreeBlocksLong");
Debug.Log("4");
// ファイルシステムのブロックサイズを返します。単位はByte。
var blockSize = statFs.Call<long>("getBlockSizeLong");
Debug.Log("5");
// ファイルシステムの総ブロック数を返します。
var blockCount = statFs.Call<long>("getBlockCountLong");
Debug.Log("■getAvailableBlocks=" + availableBlocks.ToString());
Debug.Log("■getFreeBlocks=" + freeBlocks.ToString());
Debug.Log("■getBlockSize=" + blockSize.ToString());
Debug.Log("■getBlockCount=" + blockCount.ToString());
}
}
■空き容量を求める
availableBlocksとblockSize掛け合わせると空き容量の合計バイト数が計算できる。
メガバイトに変換するには
availableBlocks*blockSize/(1024*1024) とする。
Author And Source
この問題について(Unity Androidのストレージ残量を取得(Android4.4.2、5.1.1、6.0.0による確認済み)), 我々は、より多くの情報をここで見つけました https://qiita.com/satotin/items/d5541ee8a42a15e3ba62著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .