You are here: Home > Device Management > Android > Policies > Configuring APN Settings

Configure APNs on Managed Android Devices

Deploy one or more APNs to managed Android Devices with apnPolicy from an Applivery Policy, without configuring them by hand on each Device.

7 min read

TL;DR

You deploy an APN with the Android Policy's apnPolicy object: turn on overrideApns and declare one or more apnSettings. It requires Android 10 or later on fully managed Devices, and Android 13 or later, ENTERPRISE type only, on work profiles.

The APN (Access Point Name) is the access point the Device uses to connect to its carrier's data network. When a fleet uses corporate SIMs with a private APN (for example, to reach the company's internal network through the carrier), configuring it by hand on every Device doesn't scale. With apnPolicy, you declare it once in the Policy and it reaches every assigned Device, without any user action.

Applivery sends the Android Policy configuration to Devices through the Android Management API (AMAPI), so the fields and requirements for apnPolicy are the ones Google defines in its policy reference.

Prerequisites

Requirement

Details

Device with an active SIM or eSIM

The APN only affects the carrier's mobile data connection.

Android Device enrolled in Applivery

With an Android Enterprise Policy assigned.

Fully managed

Android 10 or later. Multiple APN types are supported.

Work profile

Android 13 or later, and only APNs with the ENTERPRISE type.

APN details provided by the carrier

APN name, username and password if applicable, authentication type, MCC+MNC, proxy, etc.

Note

If the Device doesn't meet the minimum version, nothing visibly fails: the setting is discarded and the Device reports a non-compliance reason (API_LEVEL or MANAGEMENT_MODE).

How it works

apnPolicy has two fields:

  • overrideApns: turns Policy-defined APNs on or off. Values: OVERRIDE_APNS_UNSPECIFIED, OVERRIDE_APNS_DISABLED and OVERRIDE_APNS_ENABLED. With OVERRIDE_APNS_ENABLED, the Policy's APNs can take precedence over the Device's other APNs. The behavior matches Android's DevicePolicyManager.setOverrideApnsEnabled.

  • apnSettings: the list of APNs. Each entry is an ApnSetting object.

Warning

APNs in the list can't conflict with each other. Two entries conflict when they match on all of these fields: numericOperatorId, apn, proxyAddress, proxyPort, mmsProxyAddress, mmsProxyPort, mmsc, mvnoType, protocol and roamingProtocol. If there's a conflict, the Policy is rejected.

Configure an APN

1
Open the Policy

Once in the Applivery Dashboard, go to Policies 1, open the Android Policy, or create a new one.

From the left-hand menu, click the Network 2 section and look for the Apn Policy 3 configuration and set overrideApns to OVERRIDE_APNS_ENABLED.

apn
2
Add the APNs

Add one apnSettings entry per APN and fill in at least the required fields: apn, displayName and apnTypes.

3
Save and assign

Click Save and assign the Policy to the relevant Devices or groups.

Field reference

Required

Field

Description

apn

The APN name. The Policy is rejected if it's empty.

displayName

A friendly name for the APN. The Policy is rejected if it's empty.

apnTypes

List of usage types for the APN. Rejected if it's empty, contains APN_TYPE_UNSPECIFIED or has duplicates.

apnTypes values: ENTERPRISE, BIP, CBS, DEFAULT, DUN, EMERGENCY, FOTA, HIPRI, IA, IMS, MCX, MMS, RCS, SUPL, VSIM and XCAP.

Note

On fully managed Devices you can combine several types. On work profiles, ENTERPRISE is the only type allowed. Types the Device or management mode doesn't support are ignored; if none is valid, the whole entry is ignored and INVALID_VALUE is reported.

Optional

Field

Description

authType

Authentication type: NONE, PAP, CHAP or PAP_OR_CHAP.

username / password

APN credentials, if the carrier requires them.

numericOperatorId

Numeric operator ID: MCC (country code) + MNC (network code).

mvnoType

MVNO match type: GID, ICCID, IMSI or SPN.

carrierId

Carrier ID. 0 means not set; negative values aren't allowed.

protocol / roamingProtocol

Connection protocol, normal and roaming: IP, IPV4V6, IPV6, NON_IP, PPP or UNSTRUCTURED.

networkTypes

Radio technologies the APN can use: EDGE, GPRS, GSM, HSDPA, HSPA, HSPAP, HSUPA, IWLAN, LTE, NR, TD_SCDMA and UMTS. No duplicates allowed.

proxyAddress / proxyPort

APN proxy. Port 0 means not set.

mmsc / mmsProxyAddress / mmsProxyPort

Multimedia messaging (MMS) parameters. The MMS proxy address is an IP or a hostname, not a URL.

mtuV4 / mtuV6

MTU size in bytes for IPv4 and IPv6. Requires Android 13 or later.

alwaysOnSetting

NOT_ALWAYS_ON or ALWAYS_ON. Whether user plane resources are activated on every CM-IDLE to CM-CONNECTED transition (3GPP TS 23.501, section 5.6.13).

Check that it was applied

  1. On the Device, open Settings → Mobile networks → Access Point Names (the path varies by manufacturer) and check that the APN appears with the displayName you defined.

  2. Check that the Device has a mobile data connection with Wi-Fi turned off.

  3. If the APN doesn't appear, review the Device's non-compliance reasons.

Troubleshooting

Symptom

Likely cause

What to do

The Device reports API_LEVEL

Android lower than 10 (any mode), or mtuV4/mtuV6 used on Android lower than 13.

Update the Device or remove the fields that require Android 13.

The Device reports MANAGEMENT_MODE

Work profile on Android lower than 13, or with an apnTypes other than ENTERPRISE.

Use only ENTERPRISE on work profiles, with Android 13 or later.

INVALID_VALUE is reported

None of the apnTypes is supported by the Device or management mode.

Review the declared types.

The Policy is rejected when saving

apn, displayName or apnTypes is missing; there are duplicates in apnTypes or networkTypes; or APNs conflict.

Fix the fields and check that no two APNs share the same key values.

The APN applies but there's no data

Wrong carrier details (APN, authentication, protocol).

Confirm the parameters with the carrier and try protocol and roamingProtocol set to IPV4V6.

Key Takeaways

  • You declare the APN once in the Policy and it reaches every assigned Device.
  • overrideApns set to OVERRIDE_APNS_ENABLED turns on Policy-defined APNs.
  • apn, displayName and apnTypes are required.
  • Work profiles only support the ENTERPRISE type and Android 13 or later.
  • Two APNs with the same key values make the Policy get rejected.

Open the Android Policy, go to Network → APN Policies, set overrideApns to OVERRIDE_APNS_ENABLED and add an apnSettings entry with apn, displayName and apnTypes. Then save and assign the Policy.

It turns Policy-defined APNs on or off. With OVERRIDE_APNS_ENABLED, the Policy's APNs can take precedence over the Device's other APNs.

Android 10 or later on fully managed Devices, and Android 13 or later on work profiles.

Yes, on Android 13 or later and only with the ENTERPRISE APN type.

apn, displayName and apnTypes. If any of them is missing or empty, the Policy is rejected.

If they match on every key value (operator, APN, proxies, MMSC, MVNO type and protocols), the Policy is rejected.

API_LEVEL means the Android version is lower than required. MANAGEMENT_MODE means a work profile on Android lower than 13 or with a type other than ENTERPRISE.

On the Device, open Settings → Mobile networks → Access Point Names and check that the APN appears with its displayName. Then test mobile data with Wi-Fi turned off.

Was this page helpful?

Last updated: October 16, 2026