NetworkCapabilities
class NetworkCapabilities : Parcelable
kotlin.Any | |
↳ | android.net.NetworkCapabilities |
Representation of the capabilities of an active network.
@see hasCapability(int). See the list of capabilities and each capability for a description of what it means.
Some prime examples include NET_CAPABILITY_MMS
, which means that the network is capable of sending MMS. A network without this capability is not capable of sending MMS.
The NET_CAPABILITY_INTERNET
capability means that the network is configured to reach the general Internet. It may or may not actually provide connectivity ; the NET_CAPABILITY_VALIDATED
bit indicates that the system found actual connectivity to the general Internet the last time it checked. Apps interested in actual connectivity should usually look at both these capabilities.
The NET_CAPABILITY_NOT_METERED
capability is set for networks that do not bill the user for consumption of bytes. Applications are encouraged to consult this to determine appropriate usage, and to limit usage of metered network where possible, including deferring big downloads until such a time that an unmetered network is connected. Also see android.app.job.JobScheduler
to help with scheduling such downloads, in particular android.app.job.JobInfo.Builder#setRequiredNetwork(NetworkRequest)
.
NetworkCapabilities contain a number of other capabilities that represent what modern networks can and can't do. Look up the individual capabilities in this class to learn about each of them.
NetworkCapabilities typically represent attributes that can apply to any network. The attributes that apply only to specific transports like cellular or Wi-Fi can be found in the specifier (for requestable attributes) or in the transport info (for non-requestable ones). See getNetworkSpecifier
and getTransportInfo
. An app would downcast these to the specific class for the transport they need if they are interested in transport-specific attributes. Also see android.net.wifi.WifiNetworkSpecifier
or android.net.wifi.WifiInfo
for some examples of each of these.
NetworkCapabilities also contains other attributes like the estimated upstream and downstream bandwidth and the specific transport of that network (e.g. TRANSPORT_CELLULAR
). Generally, apps should normally have little reason to check for the type of transport ; for example, to query whether a network costs money to the user, do not look at the transport, but instead look at the absence or presence of NET_CAPABILITY_NOT_METERED
which will correctly account for metered Wi-Fis and free of charge cell connections.
The system communicates with apps about connected networks and uses NetworkCapabilities to express these capabilities about these networks. Apps should register callbacks with the android.net.ConnectivityManager#requestNetwork or android.net.ConnectivityManager#registerNetworkCallback family of methods to learn about the capabilities of a network on a continuous basis and be able to react to changes to capabilities. For quick debugging Android also provides ConnectivityManager#getNetworkCapabilities(Network)
, but the dynamic nature of networking makes this ill-suited to production code since capabilities obtained in this way can go stale immediately.
Also see NetworkRequest
which uses the same capabilities together with android.net.ConnectivityManager#requestNetwork for how to request the system brings up the kind of network your application needs.
Summary
Constants | |
---|---|
static Int |
Indicates that this network was found to have a captive portal in place last time it was probed. |
static Int |
Indicates this is a network that has the ability to reach the carrier's CBS servers, used for carrier specific services. |
static Int |
Indicates this is a network that has the ability to reach the carrier's DUN or tethering gateway. |
static Int |
Indicates this is a network that has the ability to reach a carrier's Emergency IMS servers or other services, used for network signaling during emergency calls. |
static Int |
Indicates that this network is intended for enterprise use. |
static Int |
Indicates that this network is available for use by apps, and not a network that is being kept up in the background to facilitate fast network switching. |
static Int |
Indicates this is a network that has the ability to reach the carrier's FOTA portal, used for over the air updates. |
static Int |
Indicates that this network is connected to an automotive head unit. |
static Int |
Indicates this is a network that has the ability to reach a carrier's Initial Attach servers. |
static Int |
Indicates this is a network that has the ability to reach the carrier's IMS servers, used for network registration and signaling. |
static Int |
Indicates that this network should be able to reach the internet. |
static Int |
Indicates that this network is a local network. |
static Int |
Indicates this is a network that has the ability to reach a carrier's Mission Critical servers. |
static Int |
Indicates this is a network that has the ability to reach the carrier's MMSC for sending and receiving MMS messages. |
static Int |
Indicates that this network has ability to support MMTEL (Multimedia Telephony service). |
static Int |
Indicates that this network is not congested. |
static Int |
Indicates that this network is unmetered. |
static Int |
Indicates that this network is available for general use. |
static Int |
Indicates that this network is not roaming. |
static Int |
Indicates that this network is not currently suspended. |
static Int |
Indicates that this network is not a VPN. |
static Int |
Indicates that this network should be able to prioritize bandwidth for the internet. |
static Int |
Indicates that this network should be able to prioritize latency for the internet. |
static Int |
Indicates this is a network that has the ability to reach a carrier's RCS servers, used for Rich Communication Services. |
static Int |
Indicates this is a network that has the ability to reach the carrier's SUPL server, used to retrieve GPS information. |
static Int |
Indicates that this network is temporarily unmetered. |
static Int |
Indicates that the user has indicated implicit trust of this network. |
static Int |
Indicates that connectivity on this network was successfully validated. |
static Int |
Indicates this is a network that has the ability to reach a Wi-Fi direct peer. |
static Int |
Indicates this is a network that has the ability to reach a carrier's XCAP servers, used for configuration and control. |
static Int |
Enterprise capability identifier 1. |
static Int |
Enterprise capability identifier 2. |
static Int |
Enterprise capability identifier 3. |
static Int |
Enterprise capability identifier 4. |
static Int |
Enterprise capability identifier 5. |
static Int |
Magic value that indicates no signal strength provided. |
static Int |
Indicates this network uses a Bluetooth transport. |
static Int |
Indicates this network uses a Cellular transport. |
static Int |
Indicates this network uses an Ethernet transport. |
static Int |
Indicates this network uses a LoWPAN transport. |
static Int |
Indicates this network uses a Satellite transport. |
static Int |
Indicates this network uses a Thread transport. |
static Int |
Indicates this network uses a USB transport. |
static Int |
Indicates this network uses a VPN transport. |
static Int |
Indicates this network uses a Wi-Fi transport. |
static Int |
Indicates this network uses a Wi-Fi Aware transport. |
Inherited constants | |
---|---|
Public constructors | |
---|---|
Public methods | |
---|---|
Int | |
Boolean |
Indicates whether some other object is "equal to" this one. |
IntArray |
Gets all the capabilities set on this |
IntArray |
Get enteprise identifiers set. |
Int |
Retrieves the downstream bandwidth for this network in Kbps. |
Int |
Retrieves the upstream bandwidth for this network in Kbps. |
NetworkSpecifier? |
Gets the optional bearer specific network specifier. |
Int |
Retrieves the UID of the app that owns this network. |
Int |
Retrieves the signal strength. |
MutableSet<Int!> |
Gets the subscription ID set that associated to this network or request. |
TransportInfo? |
Returns a transport-specific information container. |
Boolean |
hasCapability(capability: Int) Tests for the presence of a capability on this instance. |
Boolean |
hasEnterpriseId(enterpriseId: Int) Tests for the presence of an enterprise capability identifier on this instance. |
Boolean |
hasTransport(transportType: Int) Tests for the presence of a transport on this instance. |
Int |
hashCode() |
String |
toString() Returns a string representation of the object. |
Unit |
writeToParcel(dest: Parcel, flags: Int) |
Properties | |
---|---|
static Parcelable.Creator<NetworkCapabilities!> |
Constants
NET_CAPABILITY_CAPTIVE_PORTAL
static val NET_CAPABILITY_CAPTIVE_PORTAL: Int
Indicates that this network was found to have a captive portal in place last time it was probed.
Value: 17
NET_CAPABILITY_CBS
static val NET_CAPABILITY_CBS: Int
Indicates this is a network that has the ability to reach the carrier's CBS servers, used for carrier specific services.
Value: 5
NET_CAPABILITY_DUN
static val NET_CAPABILITY_DUN: Int
Indicates this is a network that has the ability to reach the carrier's DUN or tethering gateway.
Value: 2
NET_CAPABILITY_EIMS
static val NET_CAPABILITY_EIMS: Int
Indicates this is a network that has the ability to reach a carrier's Emergency IMS servers or other services, used for network signaling during emergency calls.
Value: 10
NET_CAPABILITY_ENTERPRISE
static val NET_CAPABILITY_ENTERPRISE: Int
Indicates that this network is intended for enterprise use.
5G URSP rules may indicate that all data should use a connection dedicated for enterprise use. If the enterprise capability is requested, all enterprise traffic will be routed over the connection with this capability.
Value: 29
NET_CAPABILITY_FOREGROUND
static val NET_CAPABILITY_FOREGROUND: Int
Indicates that this network is available for use by apps, and not a network that is being kept up in the background to facilitate fast network switching.
Value: 19
NET_CAPABILITY_FOTA
static val NET_CAPABILITY_FOTA: Int
Indicates this is a network that has the ability to reach the carrier's FOTA portal, used for over the air updates.
Value: 3
NET_CAPABILITY_HEAD_UNIT
static val NET_CAPABILITY_HEAD_UNIT: Int
Indicates that this network is connected to an automotive head unit.
Value: 32
NET_CAPABILITY_IA
static val NET_CAPABILITY_IA: Int
Indicates this is a network that has the ability to reach a carrier's Initial Attach servers.
Value: 7
NET_CAPABILITY_IMS
static val NET_CAPABILITY_IMS: Int
Indicates this is a network that has the ability to reach the carrier's IMS servers, used for network registration and signaling.
Value: 4
NET_CAPABILITY_INTERNET
static val NET_CAPABILITY_INTERNET: Int
Indicates that this network should be able to reach the internet.
Value: 12
NET_CAPABILITY_LOCAL_NETWORK
static val NET_CAPABILITY_LOCAL_NETWORK: Int
Indicates that this network is a local network. Local networks are networks where the device is not obtaining IP addresses from the network, but advertising IP addresses itself. Examples of local networks are:
- USB tethering or Wi-Fi hotspot networks to which the device is sharing its Internet connectivity.
- Thread networks where the current device is the Thread Border Router.
- Wi-Fi P2P networks where the current device is the Group Owner.
Value: 36
NET_CAPABILITY_MCX
static val NET_CAPABILITY_MCX: Int
Indicates this is a network that has the ability to reach a carrier's Mission Critical servers.
Value: 23
NET_CAPABILITY_MMS
static val NET_CAPABILITY_MMS: Int
Indicates this is a network that has the ability to reach the carrier's MMSC for sending and receiving MMS messages.
Value: 0
NET_CAPABILITY_MMTEL
static val NET_CAPABILITY_MMTEL: Int
Indicates that this network has ability to support MMTEL (Multimedia Telephony service).
Value: 33
NET_CAPABILITY_NOT_CONGESTED
static val NET_CAPABILITY_NOT_CONGESTED: Int
Indicates that this network is not congested.
When a network is congested, applications should defer network traffic that can be done at a later time, such as uploading analytics.
Value: 20
NET_CAPABILITY_NOT_METERED
static val NET_CAPABILITY_NOT_METERED: Int
Indicates that this network is unmetered.
Value: 11
NET_CAPABILITY_NOT_RESTRICTED
static val NET_CAPABILITY_NOT_RESTRICTED: Int
Indicates that this network is available for general use. If this is not set applications should not attempt to communicate on this network. Note that this is simply informative and not enforcement - enforcement is handled via other means. Set by default.
Value: 13
NET_CAPABILITY_NOT_ROAMING
static val NET_CAPABILITY_NOT_ROAMING: Int
Indicates that this network is not roaming.
Value: 18
NET_CAPABILITY_NOT_SUSPENDED
static val NET_CAPABILITY_NOT_SUSPENDED: Int
Indicates that this network is not currently suspended.
When a network is suspended, the network's IP addresses and any connections established on the network remain valid, but the network is temporarily unable to transfer data. This can happen, for example, if a cellular network experiences a temporary loss of signal, such as when driving through a tunnel, etc. A network with this capability is not suspended, so is expected to be able to transfer data.
Value: 21
NET_CAPABILITY_NOT_VPN
static val NET_CAPABILITY_NOT_VPN: Int
Indicates that this network is not a VPN. This capability is set by default and should be explicitly cleared for VPN networks.
Value: 15
NET_CAPABILITY_PRIORITIZE_BANDWIDTH
static val NET_CAPABILITY_PRIORITIZE_BANDWIDTH: Int
Indicates that this network should be able to prioritize bandwidth for the internet. Starting with Build.VERSION_CODES#UPSIDE_DOWN_CAKE
, requesting this capability with android.net.ConnectivityManager#requestNetwork requires declaration in the self-certified network capabilities. See NetworkRequest
for the self-certification documentation.
Value: 35
NET_CAPABILITY_PRIORITIZE_LATENCY
static val NET_CAPABILITY_PRIORITIZE_LATENCY: Int
Indicates that this network should be able to prioritize latency for the internet. Starting with Build.VERSION_CODES#UPSIDE_DOWN_CAKE
, requesting this capability with android.net.ConnectivityManager#requestNetwork requires declaration in the self-certified network capabilities. See NetworkRequest
for the self-certification documentation.
Value: 34
NET_CAPABILITY_RCS
static val NET_CAPABILITY_RCS: Int
Indicates this is a network that has the ability to reach a carrier's RCS servers, used for Rich Communication Services.
Value: 8
NET_CAPABILITY_SUPL
static val NET_CAPABILITY_SUPL: Int
Indicates this is a network that has the ability to reach the carrier's SUPL server, used to retrieve GPS information.
Value: 1
NET_CAPABILITY_TEMPORARILY_NOT_METERED
static val NET_CAPABILITY_TEMPORARILY_NOT_METERED: Int
Indicates that this network is temporarily unmetered.
This capability will be set for networks that are generally metered, but are currently unmetered, e.g., because the user is in a particular area. This capability can be changed at any time. When it is removed, applications are responsible for stopping any data transfer that should not occur on a metered network. Note that most apps should use NET_CAPABILITY_NOT_METERED
instead. For more information, see https://developer.android.com/about/versions/11/features/5g#meteredness.
Value: 25
NET_CAPABILITY_TRUSTED
static val NET_CAPABILITY_TRUSTED: Int
Indicates that the user has indicated implicit trust of this network. This generally means it's a sim-selected carrier, a plugged in ethernet, a paired BT device or a wifi the user asked to connect to. Untrusted networks are probably limited to unknown wifi AP. Set by default.
Value: 14
NET_CAPABILITY_VALIDATED
static val NET_CAPABILITY_VALIDATED: Int
Indicates that connectivity on this network was successfully validated. For example, for a network with NET_CAPABILITY_INTERNET, it means that Internet connectivity was successfully detected.
Value: 16
NET_CAPABILITY_WIFI_P2P
static val NET_CAPABILITY_WIFI_P2P: Int
Indicates this is a network that has the ability to reach a Wi-Fi direct peer.
Value: 6
NET_CAPABILITY_XCAP
static val NET_CAPABILITY_XCAP: Int
Indicates this is a network that has the ability to reach a carrier's XCAP servers, used for configuration and control.
Value: 9
NET_ENTERPRISE_ID_1
static val NET_ENTERPRISE_ID_1: Int
Enterprise capability identifier 1. It will be used to uniquely identify specific enterprise network.
Value: 1
NET_ENTERPRISE_ID_2
static val NET_ENTERPRISE_ID_2: Int
Enterprise capability identifier 2. It will be used to uniquely identify specific enterprise network.
Value: 2
NET_ENTERPRISE_ID_3
static val NET_ENTERPRISE_ID_3: Int
Enterprise capability identifier 3. It will be used to uniquely identify specific enterprise network.
Value: 3
NET_ENTERPRISE_ID_4
static val NET_ENTERPRISE_ID_4: Int
Enterprise capability identifier 4. It will be used to uniquely identify specific enterprise network.
Value: 4
NET_ENTERPRISE_ID_5
static val NET_ENTERPRISE_ID_5: Int
Enterprise capability identifier 5. It will be used to uniquely identify specific enterprise network.
Value: 5
SIGNAL_STRENGTH_UNSPECIFIED
static val SIGNAL_STRENGTH_UNSPECIFIED: Int
Magic value that indicates no signal strength provided. A request specifying this value is always satisfied.
Value: -2147483648
TRANSPORT_BLUETOOTH
static val TRANSPORT_BLUETOOTH: Int
Indicates this network uses a Bluetooth transport.
Value: 2
TRANSPORT_CELLULAR
static val TRANSPORT_CELLULAR: Int
Indicates this network uses a Cellular transport.
Value: 0
TRANSPORT_ETHERNET
static val TRANSPORT_ETHERNET: Int
Indicates this network uses an Ethernet transport.
Value: 3
TRANSPORT_LOWPAN
static val TRANSPORT_LOWPAN: Int
Indicates this network uses a LoWPAN transport.
Value: 6
TRANSPORT_SATELLITE
static val TRANSPORT_SATELLITE: Int
Indicates this network uses a Satellite transport.
Value: 10
TRANSPORT_THREAD
static val TRANSPORT_THREAD: Int
Indicates this network uses a Thread transport.
Value: 9
TRANSPORT_USB
static val TRANSPORT_USB: Int
Indicates this network uses a USB transport.
Value: 8
TRANSPORT_VPN
static val TRANSPORT_VPN: Int
Indicates this network uses a VPN transport.
Value: 4
TRANSPORT_WIFI
static val TRANSPORT_WIFI: Int
Indicates this network uses a Wi-Fi transport.
Value: 1
TRANSPORT_WIFI_AWARE
static val TRANSPORT_WIFI_AWARE: Int
Indicates this network uses a Wi-Fi Aware transport.
Value: 5
Public constructors
Public methods
describeContents
fun describeContents(): Int
Return | |
---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR |
equals
fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
obj |
This value may be null . |
Return | |
---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
getCapabilities
fun getCapabilities(): IntArray
Gets all the capabilities set on this NetworkCapability
instance.
getEnterpriseIds
fun getEnterpriseIds(): IntArray
Get enteprise identifiers set. Get all the enterprise capabilities identifier set on this NetworkCapability
If NET_CAPABILITY_ENTERPRISE is set and no enterprise ID is set, it is considered to have NET_CAPABILITY_ENTERPRISE by default.
Return | |
---|---|
IntArray |
all the enterprise capabilities identifier set. This value cannot be null . Value is android.net.NetworkCapabilities#NET_ENTERPRISE_ID_1 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_2 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_3 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_4 , or android.net.NetworkCapabilities#NET_ENTERPRISE_ID_5 |
getLinkDownstreamBandwidthKbps
fun getLinkDownstreamBandwidthKbps(): Int
Retrieves the downstream bandwidth for this network in Kbps. This always only refers to the estimated first hop transport bandwidth.
Return | |
---|---|
Int |
The estimated first hop downstream (network to device) bandwidth. |
getLinkUpstreamBandwidthKbps
fun getLinkUpstreamBandwidthKbps(): Int
Retrieves the upstream bandwidth for this network in Kbps. This always only refers to the estimated first hop transport bandwidth.
Return | |
---|---|
Int |
The estimated first hop upstream (device to network) bandwidth. |
getNetworkSpecifier
fun getNetworkSpecifier(): NetworkSpecifier?
Gets the optional bearer specific network specifier. May be null
if not set.
Return | |
---|---|
NetworkSpecifier? |
The optional NetworkSpecifier specifying the bearer specific network specifier or null . |
getOwnerUid
fun getOwnerUid(): Int
Retrieves the UID of the app that owns this network.
For user privacy reasons, this field will only be populated if the following conditions are met:
The caller is the network owner, AND one of the following sets of requirements is met:
- The described Network is a VPN
OR:
- The calling app is the network owner
- The calling app has the ACCESS_FINE_LOCATION permission granted
- The user's location toggle is on
This field will only be populated for VPN and wifi network suggestor apps (i.e using WifiNetworkSuggestion
), and only for the network they own. In the case of wifi network suggestors apps, this field is also location sensitive, so the app needs to hold android.Manifest.permission#ACCESS_FINE_LOCATION
permission. If the app targets SDK version greater than or equal to Build.VERSION_CODES#S
, then they also need to use NetworkCallback#FLAG_INCLUDE_LOCATION_INFO
to get the info in their callback. If the apps targets SDK version equal to {Build.VERSION_CODES#R
, this field will always be included. The app will be blamed for location access if this field is included.
getSignalStrength
fun getSignalStrength(): Int
Retrieves the signal strength.
Return | |
---|---|
Int |
The bearer-specific signal strength. |
getSubscriptionIds
fun getSubscriptionIds(): MutableSet<Int!>
Gets the subscription ID set that associated to this network or request.
Instances of NetworkCapabilities will only have this field populated by the system if the receiver holds the NETWORK_FACTORY permission. In all other cases, it will be the empty set.
Return | |
---|---|
MutableSet<Int!> |
This value cannot be null . |
getTransportInfo
fun getTransportInfo(): TransportInfo?
Returns a transport-specific information container. The application may cast this container to a concrete sub-class based on its knowledge of the network request. The application should be able to deal with a null
return value or an invalid case, e.g. use instanceof
operator to verify expected type.
Return | |
---|---|
TransportInfo? |
A concrete implementation of the TransportInfo class or null if not available for the network. |
hasCapability
fun hasCapability(capability: Int): Boolean
Tests for the presence of a capability on this instance.
Return | |
---|---|
Boolean |
true if set on this instance. |
hasEnterpriseId
fun hasEnterpriseId(enterpriseId: Int): Boolean
Tests for the presence of an enterprise capability identifier on this instance. If NET_CAPABILITY_ENTERPRISE is set and no enterprise ID is set, it is considered to have NET_CAPABILITY_ENTERPRISE by default.
Parameters | |
---|---|
enterpriseId |
Int: the enterprise capability identifier to be tested for. Value is android.net.NetworkCapabilities#NET_ENTERPRISE_ID_1 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_2 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_3 , android.net.NetworkCapabilities#NET_ENTERPRISE_ID_4 , or android.net.NetworkCapabilities#NET_ENTERPRISE_ID_5 |
Return | |
---|---|
Boolean |
true if set on this instance. |
hasTransport
fun hasTransport(transportType: Int): Boolean
Tests for the presence of a transport on this instance.
Parameters | |
---|---|
transportType |
Int: the transport type to be tested for. Value is android.net.NetworkCapabilities#TRANSPORT_CELLULAR , android.net.NetworkCapabilities#TRANSPORT_WIFI , android.net.NetworkCapabilities#TRANSPORT_BLUETOOTH , android.net.NetworkCapabilities#TRANSPORT_ETHERNET , android.net.NetworkCapabilities#TRANSPORT_VPN , android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE , android.net.NetworkCapabilities#TRANSPORT_LOWPAN , android.net.NetworkCapabilities.TRANSPORT_TEST, android.net.NetworkCapabilities#TRANSPORT_USB , android.net.NetworkCapabilities#TRANSPORT_THREAD , or android.net.NetworkCapabilities#TRANSPORT_SATELLITE |
Return | |
---|---|
Boolean |
true if set on this instance. |
toString
fun toString(): String
Returns a string representation of the object.
Return | |
---|---|
String |
This value cannot be null . |
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
Parameters | |
---|---|
dest |
Parcel: The Parcel in which the object should be written. This value cannot be null . |
flags |
Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |