0
我需要收集來自互聯網上的數據使用情況的信息,下面的代碼在C#我只使用返回0值。如何從互聯網收集數據使用信息到iPhone與Xamarin/monotouch
我正在使用正確的類嗎?
有一些我需要在Xamarin中添加的參考?
出現在單聲道3種類型的類,巧合的「MacOsIPv4InterfaceStatistics」接口始終返回固定值0。
Win32IPv4InterfaceStatistics
LinuxIPv4InterfaceStatistics
MacOsIPv4InterfaceStatistics
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
using System.Threading;
using MonoTouch.ObjCRuntime;
namespace Taximetro { public delegate void Update();
public static class ControleUso
{
public static long controller;
public static long BytesReceivedWiFi;
public static long BytesSentWiFi;
public static long BytesReceived3G;
public static long BytesSent3G;
public static Update UpdateMethod;
public static void DoWork()
{
foreach (var netint in NetworkInterface.GetAllNetworkInterfaces()) {
var stats = netint.GetIPv4Statistics();
//WiFi
//if (netint.Name.StartsWith ("en")) {
BytesReceivedWiFi += stats.BytesReceived;
BytesSentWiFi += stats.BytesSent;
//}
//3G
if (netint.Name.StartsWith ("pdp_ip")) {
BytesReceived3G += stats.BytesReceived;
BytesSent3G += stats.BytesSent;
}
}
controller++;
if (UpdateMethod != null) {
UpdateMethod();
}
Thread.Sleep (1000);
}
}
}
AFAIK,iOS不公開任何公共API,允許您從設備收集這些數據。 – Jason 2014-10-08 12:15:47
此鏈接顯示類似代碼寫在ObjC https://github.com/pkjmesra/DataUsage 但需要寫在我的項目在C# - Xamarin。 – rcaratchuk 2014-10-08 12:22:46