【问题标题】:android wifi active data transferandroid wifi 主动数据传输
【发布时间】:2012-02-06 06:25:59
【问题描述】:

使用 Android TelephonyManager 应用程序可以获得蜂窝网络上的数据活动状态。例如,活动正在进来、出去或两者兼而有之。我想知道是否有人知道在使用 Wifi 连接设备时获取相同信息的方法?在冰淇淋三明治(我认为是 4.0.3)中,他们为 Wifi 和电话提供了此信息,但在此之前,它仅适用于电话(WifiManager 直到冰淇淋三明治发布时才更新此信息)。

基本上,我希望能够检查手机/平板电脑在连接到 Wifi 网络时是否正在主动传输数据(不仅仅是连接了 Wifi)。该数据不必由我发起;我只想知道数据是否在积极移动。

有没有人知道如何实现这一点?我对 Android 还很陌生,希望获得此信息以确保我的应用程序不会做任何坏事。提前感谢您的任何想法。

【问题讨论】:

    标签: android android-wifi wifimanager


    【解决方案1】:

    我也一直在寻找这个,但我没有一个完美的答案,但是您可以使用 TrafficStats API 获得某种近似数据。

    我有一段代码偶尔会被计时器和几个名为 totalDownload 和 totalUpload 的类变量触发...

    long newTotalDownload = TrafficStats.getTotalTxBytes();
    long newTotalUpload = TrafficStats.getTotalRxBytes();
    
    long incDownload = newTotalDownload - totalDownload;
    long incUpload = newTotalUpload - totalUpload;
    
    if (incUpload > 0)
    {
        //data was being uploaded in the last time period
    }
    if (incDownload > 0)
    {
        //data was being downloaded in the last time period
    }
    //set up for the next iteration
    totalDownload = newTotalDownload;
    totalUpload = newTotalUpload;
    

    它有效,但如果你找到一个更好的答案,我想要一个更好的答案。

    【讨论】:

    • 即使没有互联网连接,上传部分也是积极的。 . .我认为只有下载部分有意义。
    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    相关资源
    最近更新 更多