监控所有网络活动的Android应用程序如何工作?

时间:2015-09-24 21:36:24

标签: android networking

我需要监视设备上的所有网络活动,作为我的应用程序的一部分,而不是用于调试目的。 This post讨论了如何使用TCP转储,但有些答案表明这需要root。这些答案都没有真正解释如何在应用程序中完成。

我知道以某种方式可以从应用程序中访问所有网络流量,因为像Network Connections这样的应用程序可以显示正在访问的所有IP地址,以及哪些应用程序正在访问它们。

有谁知道我需要使用哪些API,权限等才能在我的应用中获取此类数据?

1 个答案:

答案 0 :(得分:1)

如果你还在寻找,在android.net这个类中就有了这个类:

/**
 * Collection of historical network statistics, recorded into equally-sized
 * "buckets" in time. Internally it stores data in {@code long} series for more
 * efficient persistence.
 * <p>
 * Each bucket is defined by a {@link #bucketStart} timestamp, and lasts for
 * {@link #bucketDuration}. Internally assumes that {@link #bucketStart} is
 * sorted at all times.
 *
 * @hide
 */
public class NetworkStatsHistory implements Parcelable {