다음을 통해 공유


NetworkStatsManager Class

Definition

Provides access to network usage history and statistics.

[Android.Runtime.Register("android/app/usage/NetworkStatsManager", ApiSince=23, DoNotGenerateAcw=true)]
public class NetworkStatsManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/usage/NetworkStatsManager", ApiSince=23, DoNotGenerateAcw=true)>]
type NetworkStatsManager = class
    inherit Object
Inheritance
NetworkStatsManager
Attributes

Remarks

Provides access to network usage history and statistics. Usage data is collected in discrete bins of time called 'Buckets'. See NetworkStats.Bucket for details.

Queries can define a time interval in the form of start and end timestamps (Long.MIN_VALUE and Long.MAX_VALUE can be used to simulate open ended intervals). By default, apps can only obtain data about themselves. See the below note for special cases in which apps can obtain data about other applications. <h3> Summary queries </h3> #querySummaryForDevice

#querySummaryForUser

#querySummary

These queries aggregate network usage across the whole interval. Therefore there will be only one bucket for a particular key, state, metered and roaming combination. In case of the user-wide and device-wide summaries a single bucket containing the totalised network usage is returned. <h3> History queries </h3> #queryDetailsForUid

#queryDetails

These queries do not aggregate over time but do aggregate over state, metered and roaming. Therefore there can be multiple buckets for a particular key. However, all Buckets will have stateNetworkStats.Bucket#STATE_ALL, defaultNetworkNetworkStats.Bucket#DEFAULT_NETWORK_ALL, meteredNetworkStats.Bucket#METERED_ALL, roamingNetworkStats.Bucket#ROAMING_ALL.

<b>NOTE:</b> Calling #querySummaryForDevice or accessing stats for apps other than the calling app requires the permission android.Manifest.permission#PACKAGE_USAGE_STATS, which is a system-level permission and will not be granted to third-party apps. However, declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.

Profile owner apps are automatically granted permission to query data on the profile they manage (that is, for any query except #querySummaryForDevice). Device owner apps and carrier- privileged apps likewise get access to usage data for all users on the device.

In addition to tethering usage, usage by removed users and apps, and usage by the system is also included in the results for callers with one of these higher levels of access.

<b>NOTE:</b> Prior to API level android.os.Build.VERSION_CODES#N, all calls to these APIs required the above permission, even to access an app's own data usage, and carrier-privileged apps were not included.

Java documentation for android.app.usage.NetworkStatsManager.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

NetworkStatsManager(IntPtr, JniHandleOwnership)

Properties

Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode (Inherited from Object)
JniPeerMembers
PeerReference (Inherited from Object)
ThresholdClass
ThresholdType

Methods

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
QueryDetails(ConnectivityType, String, Int64, Int64)

Query network usage statistics details.

QueryDetailsForUid(ConnectivityType, String, Int64, Int64, Int32)

Query network usage statistics details for a given uid.

QueryDetailsForUidTag(ConnectivityType, String, Int64, Int64, Int32, Int32)

Query network usage statistics details for a given uid and tag.

QueryDetailsForUidTagState(ConnectivityType, String, Int64, Int64, Int32, Int32, NetworkUsageState)

Query network usage statistics details for a given uid, tag, and state.

QuerySummary(ConnectivityType, String, Int64, Int64)

Query network usage statistics summaries.

QuerySummaryForDevice(ConnectivityType, String, Int64, Int64)

Query network usage statistics summaries.

QuerySummaryForUser(ConnectivityType, String, Int64, Int64)

Query network usage statistics summaries.

RegisterUsageCallback(ConnectivityType, String, Int64, NetworkStatsManager+UsageCallback, Handler)

Registers to receive notifications about data usage on specified networks.

RegisterUsageCallback(ConnectivityType, String, Int64, NetworkStatsManager+UsageCallback)

Registers to receive notifications about data usage on specified networks.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
UnregisterUsageCallback(NetworkStatsManager+UsageCallback)

Unregisters callbacks on data usage.

Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Gets the JNI name of the type of the instance self.

JavaAs<TResult>(IJavaPeerable)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

Applies to