NetworkStatsManager Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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 state
NetworkStats.Bucket#STATE_ALL
, defaultNetwork
NetworkStats.Bucket#DEFAULT_NETWORK_ALL
, metered
NetworkStats.Bucket#METERED_ALL
, roaming
NetworkStats.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 |
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 |
JavaAs<TResult>(IJavaPeerable) |
Try to coerce |
TryJavaCast<TResult>(IJavaPeerable, TResult) |
Try to coerce |