Can't get DriveInfo.AvailableFreeSpace on android

I made a script to get free space for android,

but DriveInfo.AvailableFreeSpace/TotalFreeSpace/TotalSize are
always return 9223372036854775807 bytes.

How can I get the correct free space?

DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach ( DriveInfo d in allDrives ) {
	if ( ! Application.persistentDataPath.StartsWith( d.Name )  ) {
		continue;
	}
	Debug.Log ( "Name " + d.Name );
	Debug.Log ( "AvailableFreeSpace " + d.AvailableFreeSpace );
	Debug.Log ( "TotalFreeSpace " + d.TotalFreeSpace );
	Debug.Log ( "TotalSize " + d.TotalSize );
	break;
}

AndroidJavaObject statFs = new AndroidJavaObject( “android.os.StatFs”, Application.persistentDataPath);
long free = (long)statFs.Call(“getBlockSize”) * (long)statFs.Call(“getAvailableBlocks”);

There is a plugin in the asset store for this, works nicely on Android:
http://goo.gl/5LRP9