Builder
open class Builder
kotlin.Any | |
↳ | android.telephony.data.ApnSetting.Builder |
Provides a convenient way to set the fields of a ApnSetting
when creating a new instance. The following settings are required to build an ApnSetting
:
- apnTypeBitmask
- apnName
- entryName
The example below shows how you might create a new ApnSetting
:
<code> // Create an MMS proxy address with a hostname. A network might not be // available, so supply a placeholder (0.0.0.0) IPv4 address to avoid DNS lookup. String host = "mms.example.com"; byte[] ipAddress = new byte[4]; InetAddress mmsProxy; try { mmsProxy = InetAddress.getByAddress(host, ipAddress); } catch (UnknownHostException e) { e.printStackTrace(); return; } ApnSetting apn = new ApnSetting.Builder() .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_MMS) .setApnName("apn.example.com") .setEntryName("Example Carrier APN") .setMmsc(Uri.parse("http://mms.example.com:8002")) .setMmsProxyAddress(mmsProxy) .setMmsProxyPort(8799) .build(); </code>
Summary
Public constructors | |
---|---|
Builder() Default constructor for Builder. |
Public methods | |
---|---|
open ApnSetting! |
build() Builds |
open ApnSetting.Builder |
setAlwaysOn(alwaysOn: Boolean) Sets whether the PDU session brought up by this APN should always be on. |
open ApnSetting.Builder |
setApnName(apnName: String?) Sets the name of the APN. |
open ApnSetting.Builder |
setApnTypeBitmask(apnTypeBitmask: Int) Sets the bitmask of APN types. |
open ApnSetting.Builder |
setAuthType(authType: Int) Sets the authentication type of the APN. |
open ApnSetting.Builder |
setCarrierEnabled(carrierEnabled: Boolean) Sets the current status for this APN. |
open ApnSetting.Builder |
setCarrierId(carrierId: Int) Sets the carrier id for this APN. |
open ApnSetting.Builder |
setEntryName(entryName: String?) Sets a human-readable name that describes the APN. |
open ApnSetting.Builder! |
setMmsProxyAddress(mmsProxy: InetAddress!) Sets the address of an MMS proxy for the APN. |
open ApnSetting.Builder |
setMmsProxyAddress(mmsProxy: String?) Sets the MMS proxy address of the APN. |
open ApnSetting.Builder |
setMmsProxyPort(mmsPort: Int) Sets the MMS proxy port of the APN. |
open ApnSetting.Builder |
Sets the MMSC Uri of the APN. |
open ApnSetting.Builder |
Set the default MTU (Maximum Transmission Unit) size in bytes of the IPv4 routes brought up by this APN setting. |
open ApnSetting.Builder |
Set the default MTU (Maximum Transmission Unit) size in bytes of the IPv6 routes brought up by this APN setting. |
open ApnSetting.Builder |
setMvnoType(mvnoType: Int) Sets the MVNO match type for this APN. |
open ApnSetting.Builder |
setNetworkTypeBitmask(networkTypeBitmask: Int) Sets Radio Technology (Network Type) info for this APN. |
open ApnSetting.Builder |
setOperatorNumeric(operatorNumeric: String?) Sets the numeric operator ID for the APN. |
open ApnSetting.Builder |
setPassword(password: String?) Sets the APN password of the APN. |
open ApnSetting.Builder |
setPersistent(isPersistent: Boolean) Set if the APN setting should be persistent/non-persistent in modem. |
open ApnSetting.Builder |
setProfileId(profileId: Int) Sets the profile id to which the APN saved in modem. |
open ApnSetting.Builder |
setProtocol(protocol: Int) Sets the protocol to use to connect to this APN. |
open ApnSetting.Builder! |
setProxyAddress(proxy: InetAddress!) Sets the address of an HTTP proxy for the APN. |
open ApnSetting.Builder |
setProxyAddress(proxy: String?) Sets the proxy address of the APN. |
open ApnSetting.Builder |
setProxyPort(port: Int) Sets the proxy port of the APN. |
open ApnSetting.Builder |
setRoamingProtocol(roamingProtocol: Int) Sets the protocol to use to connect to this APN when the device is roaming. |
open ApnSetting.Builder |
Sets the APN username of the APN. |
Public constructors
Public methods
build
open fun build(): ApnSetting!
Builds ApnSetting
from this builder.
Return | |
---|---|
ApnSetting! |
null if setApnName(java.lang.String) or setEntryName(java.lang.String) is empty, or setApnTypeBitmask(int) doesn't contain a valid bit, ApnSetting built from this builder otherwise. |
setAlwaysOn
open fun setAlwaysOn(alwaysOn: Boolean): ApnSetting.Builder
Sets whether the PDU session brought up by this APN should always be on. See 3GPP TS 23.501 section 5.6.13
Parameters | |
---|---|
alwaysOn |
Boolean: the always on status to set for this APN |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setApnName
open fun setApnName(apnName: String?): ApnSetting.Builder
Sets the name of the APN.
Parameters | |
---|---|
apnName |
String?: the name to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setApnTypeBitmask
open fun setApnTypeBitmask(apnTypeBitmask: Int): ApnSetting.Builder
Sets the bitmask of APN types.
Apn types are usage categories for an APN entry. One APN entry may support multiple APN types, eg, a single APN may service regular internet traffic ("default") as well as MMS-specific connections.
The bitmask of APN types is calculated from APN types defined in ApnSetting
.
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setAuthType
open fun setAuthType(authType: Int): ApnSetting.Builder
Sets the authentication type of the APN.
Parameters | |
---|---|
authType |
Int: the authentication type to set for the APN Value is android.telephony.data.ApnSetting.AUTH_TYPE_UNKNOWN, android.telephony.data.ApnSetting#AUTH_TYPE_NONE , android.telephony.data.ApnSetting#AUTH_TYPE_PAP , android.telephony.data.ApnSetting#AUTH_TYPE_CHAP , or android.telephony.data.ApnSetting#AUTH_TYPE_PAP_OR_CHAP |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setCarrierEnabled
open fun setCarrierEnabled(carrierEnabled: Boolean): ApnSetting.Builder
Sets the current status for this APN.
Parameters | |
---|---|
carrierEnabled |
Boolean: the current status to set for this APN |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setCarrierId
open fun setCarrierId(carrierId: Int): ApnSetting.Builder
Sets the carrier id for this APN. See TelephonyManager#getSimCarrierId()
which provides more background for what a carrier ID is.
Parameters | |
---|---|
carrierId |
Int: the carrier id to set for this APN |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setEntryName
open fun setEntryName(entryName: String?): ApnSetting.Builder
Sets a human-readable name that describes the APN.
Parameters | |
---|---|
entryName |
String?: the entry name to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMmsProxyAddress
open funsetMmsProxyAddress(mmsProxy: InetAddress!): ApnSetting.Builder!
Deprecated: use setMmsProxyAddress(java.lang.String)
instead.
Sets the address of an MMS proxy for the APN. The MMS proxy address can be an IP address or hostname. If mmsProxy
contains both an IP address and hostname, this method ignores the IP address.
The java.net.InetAddress
methods getByName()
and getAllByName()
require DNS for hostname resolution. To avoid this requirement when setting a hostname, call java.net.InetAddress#getByAddress(java.lang.String, byte[])
with both the hostname and a placeholder IP address. See above
for an example.
Parameters | |
---|---|
mmsProxy |
InetAddress!: the MMS proxy address to set for the APN |
setMmsProxyAddress
open fun setMmsProxyAddress(mmsProxy: String?): ApnSetting.Builder
Sets the MMS proxy address of the APN.
Parameters | |
---|---|
mmsProxy |
String?: the MMS proxy address to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMmsProxyPort
open fun setMmsProxyPort(mmsPort: Int): ApnSetting.Builder
Sets the MMS proxy port of the APN.
Parameters | |
---|---|
mmsPort |
Int: the MMS proxy port to set for the APN |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMmsc
open fun setMmsc(mmsc: Uri?): ApnSetting.Builder
Sets the MMSC Uri of the APN.
Parameters | |
---|---|
mmsc |
Uri?: the MMSC Uri to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMtuV4
open fun setMtuV4(mtuV4: Int): ApnSetting.Builder
Set the default MTU (Maximum Transmission Unit) size in bytes of the IPv4 routes brought up by this APN setting. Note this value will only be used when MTU size is not provided in DataCallResponse#getMtuV4()
during network bring up.
Parameters | |
---|---|
mtuV4 |
Int: the MTU size in bytes of the route. |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMtuV6
open fun setMtuV6(mtuV6: Int): ApnSetting.Builder
Set the default MTU (Maximum Transmission Unit) size in bytes of the IPv6 routes brought up by this APN setting. Note this value will only be used when MTU size is not provided in DataCallResponse#getMtuV6()
during network bring up.
Parameters | |
---|---|
mtuV6 |
Int: the MTU size in bytes of the route. |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setMvnoType
open fun setMvnoType(mvnoType: Int): ApnSetting.Builder
Sets the MVNO match type for this APN.
Parameters | |
---|---|
mvnoType |
Int: the MVNO match type to set for this APN Value is android.telephony.data.ApnSetting.MVNO_TYPE_UNKNOWN, android.telephony.data.ApnSetting#MVNO_TYPE_SPN , android.telephony.data.ApnSetting#MVNO_TYPE_IMSI , android.telephony.data.ApnSetting#MVNO_TYPE_GID , or android.telephony.data.ApnSetting#MVNO_TYPE_ICCID |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setNetworkTypeBitmask
open fun setNetworkTypeBitmask(networkTypeBitmask: Int): ApnSetting.Builder
Sets Radio Technology (Network Type) info for this APN.
Parameters | |
---|---|
networkTypeBitmask |
Int: the Radio Technology (Network Type) info |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setOperatorNumeric
open fun setOperatorNumeric(operatorNumeric: String?): ApnSetting.Builder
Sets the numeric operator ID for the APN. Numeric operator ID is defined as android.provider.Telephony.Carriers#MCC
+ android.provider.Telephony.Carriers#MNC
.
Parameters | |
---|---|
operatorNumeric |
String?: the numeric operator ID to set for this entry This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setPassword
open fun setPassword(password: String?): ApnSetting.Builder
Sets the APN password of the APN.
Parameters | |
---|---|
password |
String?: the APN password to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setPersistent
open fun setPersistent(isPersistent: Boolean): ApnSetting.Builder
Set if the APN setting should be persistent/non-persistent in modem.
Parameters | |
---|---|
isPersistent |
Boolean: true if this APN setting should be persistent/non-persistent in modem. |
Return | |
---|---|
ApnSetting.Builder |
The same instance of the builder. This value cannot be null . |
setProfileId
open fun setProfileId(profileId: Int): ApnSetting.Builder
Sets the profile id to which the APN saved in modem.
Parameters | |
---|---|
profileId |
Int: the profile id to set for the APN. |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setProtocol
open fun setProtocol(protocol: Int): ApnSetting.Builder
Sets the protocol to use to connect to this APN.
Protocol is one of the PDP_type
values in TS 27.007 section 10.1.1.
Parameters | |
---|---|
protocol |
Int: the protocol to set to use to connect to this APN Value is android.telephony.data.ApnSetting#PROTOCOL_IP , android.telephony.data.ApnSetting#PROTOCOL_IPV6 , android.telephony.data.ApnSetting#PROTOCOL_IPV4V6 , android.telephony.data.ApnSetting#PROTOCOL_PPP , android.telephony.data.ApnSetting#PROTOCOL_NON_IP , or android.telephony.data.ApnSetting#PROTOCOL_UNSTRUCTURED |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setProxyAddress
open funsetProxyAddress(proxy: InetAddress!): ApnSetting.Builder!
Deprecated: use setProxyAddress(java.lang.String)
instead.
Sets the address of an HTTP proxy for the APN. The proxy address can be an IP address or hostname. If proxy
contains both an IP address and hostname, this method ignores the IP address.
The java.net.InetAddress
methods getAllByName()
require DNS for hostname resolution. To avoid this requirement when setting a hostname, call java.net.InetAddress#getByAddress(java.lang.String, byte[])
with both the hostname and a placeholder IP address. See above
for an example.
Parameters | |
---|---|
proxy |
InetAddress!: the proxy address to set for the APN |
setProxyAddress
open fun setProxyAddress(proxy: String?): ApnSetting.Builder
Sets the proxy address of the APN.
Parameters | |
---|---|
proxy |
String?: the proxy address to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setProxyPort
open fun setProxyPort(port: Int): ApnSetting.Builder
Sets the proxy port of the APN.
Parameters | |
---|---|
port |
Int: the proxy port to set for the APN |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setRoamingProtocol
open fun setRoamingProtocol(roamingProtocol: Int): ApnSetting.Builder
Sets the protocol to use to connect to this APN when the device is roaming.
Roaming protocol is one of the PDP_type
values in TS 27.007 section 10.1.1.
Parameters | |
---|---|
roamingProtocol |
Int: the protocol to set to use to connect to this APN when roaming Value is android.telephony.data.ApnSetting#PROTOCOL_IP , android.telephony.data.ApnSetting#PROTOCOL_IPV6 , android.telephony.data.ApnSetting#PROTOCOL_IPV4V6 , android.telephony.data.ApnSetting#PROTOCOL_PPP , android.telephony.data.ApnSetting#PROTOCOL_NON_IP , or android.telephony.data.ApnSetting#PROTOCOL_UNSTRUCTURED |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |
setUser
open fun setUser(user: String?): ApnSetting.Builder
Sets the APN username of the APN.
Parameters | |
---|---|
user |
String?: the APN username to set for the APN This value may be null . |
Return | |
---|---|
ApnSetting.Builder |
This value cannot be null . |