Package
com.google.android.captiveportallogin
Captive portal login
Guidance
The Captive Portal Login app. When you join a Wi-Fi network that requires a sign-in page (hotels, airports, guest networks), Android opens this app to show that page. It is part of a Google Mainline module, so it updates via Play System Updates rather than full OS releases. It is not spyware and not something a normal user needs to remove. In a managed kiosk (LockTask) deployment it must be allowlisted, or the device cannot complete a captive-portal sign-in. Note there are three versions of this app, Google (here), AOSP, and OEM overlay. Determine which runs on your fleet to ensure the correct package is referenced.
- How can I access a Wi-Fi captive portal when devices are in Kiosk? - Jason Bayton →
- Network Stack - Android Open Source Project →
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Signed by Google's own signing key (the same key Google uses across devices), so it is a Google-provided preinstall that updates independently of the system image, though 2 different Google signing keys appear across the fleet.
- Its largest observed manifest declares 14 permissions: 3 runtime (user-granted), 2 signature or system-level, 5 install-time and 4 vendor or uncatalogued.
- Reported as an updated system app on 34 of 40 profiles - a newer build is installed over the one in the system image there.
Declared permissions (14)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
ACCESS_COARSE_LOCATION |
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location. |
ACCESS_FINE_LOCATION |
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage. |
ACCESS_LOCAL_NETWORK |
- |
ACCESS_NETWORK_STATE |
Allows the app to view information about network connections such as which networks exist and are connected. |
ACCESS_WIFI_STATE |
Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices. |
FOREGROUND_SERVICE |
Allows the app to make use of foreground services. |
FOREGROUND_SERVICE_DATA_SYNC |
Allows the app to make use of foreground services with the type "dataSync" |
INTERNET |
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet. |
MAINLINE_NETWORK_STACK |
- |
POST_NOTIFICATIONS |
Allows the app to show notifications |
READ_DEVICE_CONFIG |
Signature-level system permission, for platform-signed apps. |
REQUEST_INSTALL_PACKAGES |
Allows an application to request installation of packages. |
USE_LOOPBACK_INTERFACE |
- |
com.android.captiveportallogin.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
/system, so Restore re-adds it (-k keeps app data)Appears in
Curated bundles that include this package.
Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| ALCommon | ALCommon | Android 15 | - | 1 | 20 Jun 2025 |
| Blackview | VARG | Android 11 | - | 1 | 1 Sep 2025 |
| Commbox | CommBox_Classic_S5 | Android 14 | 1 | 2 Apr 2026 | |
| Crosscall | Stellar-X5 | Android 13 | - | 1 | 16 Jul 2025 |
| Crosscall | Stellar-X5 | Android 14 | - | 3 | 1 Sep 2025 |
| Crosscall | Stellar-X5 | Android 15 | 1 | 9 Apr 2026 | |
| CUBOT | P80 | Android 13 | - | 2 | 20 Sep 2025 |
| Dahua | MC480-U | Android 13 | - | 1 | 8 Sep 2025 |
| Datalogic | Memor 35/35X | Android 15 | - | 1 | 11 Nov 2025 |
| DOOGEE | S41 Max | Android 13 | - | 2 | 3 Oct 2025 |
| Elo Touch Solutions | 15in-I-Series-5 | Android 14 | - | 12 | 22 Nov 2025 |
| Fairphone | Fairphone 6 | Android 15 | - | 2 | 6 Nov 2025 |
| Fairphone | FP4 | Android 13 | - | 1 | 20 Dec 2025 |
| Fairphone | FP4 | Android 15 | - | 1 | 28 May 2026 |
| GMS on ARM64 | Android 14 | - | 1 | 16 Sep 2025 | |
| Pixel 10 Pro | Android 16 | 1 | 26 Mar 2026 | ||
| Pixel 10 Pro | Android 17 | 1 | 1 Jun 2026 | ||
| Pixel 6 | Android 12 | - | 1 | 22 Jun 2025 | |
| Pixel 6 | Android 16 | - | 1 | 13 Oct 2025 | |
| Pixel 6 Pro | Android 15 | - | 9 | 23 Jun 2025 | |
| Pixel 7 | Android 13 | 1 | 19 Feb 2026 | ||
| Pixel 7 Pro | Android 16 | 1 | 9 Mar 2026 | ||
| Pixel 8 | Android 16 | - | 4 | 1 Jun 2026 | |
| Pixel 8a | Android 15 | - | 1 | 5 Oct 2025 | |
| Pixel 9 Pro XL | Android 16 | 21 | 29 Mar 2026 | ||
| Pixel 9 Pro XL | Android 17 | 2 | 2 Jun 2026 | ||
| Pixel 9a | Android 15 | - | 1 | 15 Jun 2025 | |
| Pixel 9a | Android 16 | - | 4 | 28 Nov 2025 | |
| sdk_gphone16k_arm64 | Android 16 | 2 | 6 Feb 2026 | ||
| sdk_gphone64_arm64 | Android 16 | - | 5 | 2 Dec 2025 | |
| sdk_gphone64_x86_64 | Android 12 | - | 3 | 1 Dec 2025 | |
| HMD Global | Nokia G22 | Android 14 | - | 1 | 4 Dec 2025 |
| HONOR | HEY-W09 | Android 12 | - | 3 | 26 Aug 2025 |
| HONOR | LLY-LX3 | Android 14 | - | 1 | 28 Jun 2025 |
| Hotwav | TAB R9 Pro | Android 14 | - | 1 | 18 Sep 2025 |
| Infinix | Infinix X6871 | Android 14 | - | 1 | 21 May 2025 |
| Isafemobile | IS540 | Android 14 | - | 2 | 17 Sep 2025 |
| Lenovo | Lenovo TB-X6C6NBF | Android 12 | - | 1 | 15 May 2025 |
| Lenovo | TB132FU | Android 14 | - | 1 | 16 Jun 2025 |
| Lenovo | TB328FU | Android 12 | - | 1 | 15 Sep 2025 |
| Lenovo | TB352FU | Android 15 | - | 1 | 8 Apr 2026 |
| Lenovo | TB570FU | Android 15 | - | 1 | 17 Jun 2025 |
| Motorola | moto g - 2025 | Android 16 | 1 | 14 Dec 2025 | |
| Motorola | moto g05 | Android 15 | 2 | 15 Apr 2026 | |
| Motorola | moto g06 | Android 15 | - | 2 | 3 Mar 2026 |
| Motorola | moto g14 | Android 13 | 1 | 19 Dec 2025 | |
| Motorola | moto g15 | Android 15 | - | 10 | 27 Nov 2025 |
| Motorola | moto g24 | Android 14 | 1 | 19 Dec 2025 | |
| Motorola | moto g34 5G | Android 14 | - | 1 | 2 Sep 2025 |
| Motorola | moto g85 5G | Android 14 | - | 1 | 21 Aug 2025 |
| Motorola | motorola edge 50 fusion | Android 15 | 11 | 29 Dec 2025 | |
| Motorola | motorola edge 50 fusion | Android 16 | - | 1 | 13 Oct 2025 |
| Motorola | ThinkPhone by motorola | Android 14 | - | 1 | 26 Sep 2025 |
| Motorola | ThinkPhone by motorola | Android 15 | - | 1 | 11 Oct 2025 |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| Nothing | A063 | Android 15 | 1 | 22 Apr 2026 | |
| NUU | S6707X | Android 14 | 1 | 12 Jan 2026 | |
| OnePlus | CPH2465 | Android 14 | - | 1 | 17 Jun 2025 |
| OnePlus | CPH2653 | Android 16 | - | 1 | 24 Nov 2025 |
| OnePlus | HD1903 | Android 12 | - | 1 | 10 Sep 2025 |
| OnePlus | KB2005 | Android 14 | - | 1 | 17 Sep 2025 |
| OPPO | CPH2591 | Android 15 | - | 1 | 10 Jul 2025 |
| OPPO | CPH2637 | Android 15 | 1 | 2 Feb 2026 | |
| OUKITEL | C59 Pro | Android 15 | - | 1 | 6 Nov 2025 |
| OUKITEL | WP100 TITAN | Android 14 | - | 2 | 25 Jul 2025 |
| OUKITEL | WP100 TITAN | Android 15 | - | 1 | 6 Dec 2025 |
| OUKITEL | WP28 E | Android 14 | 1 | 31 May 2026 | |
| OUKITEL | WP60 | Android 15 | 3 | 9 Dec 2025 | |
| realme | RMX2001 | Android 11 | - | 1 | 21 Aug 2025 |
| realme | RMX3627 | Android 12 | - | 1 | 20 Sep 2025 |
| Rhino | C10 | Android 10 | - | 1 | 14 Jul 2025 |
| Rhino | T8 | Android 14 | - | 1 | 17 May 2025 |
| Samsung | SM-A125F | Android 12 | 1 | 21 Jan 2026 | |
| Samsung | SM-A135F | Android 14 | 3 | 21 Jan 2026 | |
| Samsung | SM-A137F | Android 14 | - | 1 | 17 Jan 2026 |
| Samsung | SM-A236B | Android 14 | 2 | 10 Apr 2026 | |
| Samsung | SM-A266B | Android 15 | - | 2 | 21 Aug 2025 |
| Samsung | SM-A266B | Android 16 | - | 1 | 26 Jan 2026 |
| Samsung | SM-A346B | Android 14 | 1 | 4 Mar 2026 | |
| Samsung | SM-A515F | Android 13 | - | 1 | 30 Jun 2025 |
| Samsung | SM-A528B | Android 13 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A536B | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A556B | Android 15 | - | 1 | 1 Jul 2025 |
| Samsung | SM-A566B | Android 16 | - | 2 | 4 Nov 2025 |
| Samsung | SM-F721B | Android 15 | - | 1 | 9 Jul 2025 |
| Samsung | SM-F766B | Android 16 | - | 1 | 11 Nov 2025 |
| Samsung | SM-G766B | Android 15 | - | 1 | 17 Oct 2025 |
| Samsung | SM-G780F | Android 13 | 1 | 29 Dec 2025 | |
| Samsung | SM-G973U | Android 12 | 2 | 28 May 2026 | |
| Samsung | SM-G991B | Android 15 | 1 | 19 Apr 2026 | |
| Samsung | SM-M315F | Android 12 | - | 1 | 2 Feb 2026 |
| Samsung | SM-N986B | Android 13 | - | 9 | 17 Jul 2025 |
| Samsung | SM-S721U | Android 15 | - | 5 | 5 Aug 2025 |
| Samsung | SM-S906B | Android 15 | - | 1 | 2 Jun 2025 |
| Samsung | SM-S908U | Android 16 | 1 | 2 Jun 2026 | |
| Samsung | SM-S921B | Android 15 | 2 | 22 Jul 2025 | |
| Samsung | SM-S921B | Android 16 | 1 | 13 May 2026 | |
| Samsung | SM-S921U | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-S926B | Android 16 | 1 | 14 Apr 2026 | |
| Samsung | SM-S928B | Android 16 | 1 | 25 Jan 2026 | |
| Samsung | SM-S928U1 | Android 15 | - | 1 | 12 Sep 2025 |
| Samsung | SM-S931B | Android 15 | - | 1 | 20 Sep 2025 |
| Samsung | SM-S931B | Android 16 | - | 1 | 23 Nov 2025 |
| Samsung | SM-S936B | Android 16 | - | 1 | 18 Dec 2025 |
| Samsung | SM-S937B | Android 15 | - | 1 | 25 Aug 2025 |
| Samsung | SM-S938B | Android 15 | - | 2 | 25 Aug 2025 |
| Samsung | SM-S942B | Android 17 | 1 | 25 May 2026 | |
| Samsung | SM-T636B | Android 15 | - | 2 | 12 Oct 2025 |
| Samsung | SM-T976B | Android 13 | - | 1 | 21 Jul 2025 |
| Samsung | SM-X200 | Android 14 | - | 1 | 27 Aug 2025 |
| Samsung | SM-X716B | Android 15 | - | 1 | 27 Jun 2025 |
| Samsung | SM-X910 | Android 14 | - | 1 | 26 Jun 2025 |
| Samsung | SM-X910 | Android 15 | - | 1 | 12 Sep 2025 |
| Smt_hk | OV2219 | Android 12L | 1 | 16 Feb 2026 | |
| TCL | 6025D_EEA | Android 11 | - | 1 | 17 Sep 2025 |
| TCL | 6165H | Android 13 | - | 1 | 16 Sep 2025 |
| TCL | 9466X | Android 13 | - | 1 | 13 Jan 2026 |
| TCL | 9491G | Android 14 | - | 1 | 26 Aug 2025 |
| TCL | T610K | Android 14 | - | 1 | 24 Oct 2025 |
| TCL | T951K | Android 15 | 8 | 8 Jan 2026 | |
| Ulefone | Power Armor X11 Pro | Android 12 | - | 1 | 15 Sep 2025 |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
| Xiaomi | 21091116UI | Android 13 | - | 1 | 8 Sep 2025 |
| Xiaomi | 220333QNY | Android 13 | 1 | 16 Feb 2026 | |
| Xiaomi | 23106RN0DA | Android 15 | - | 1 | 22 May 2025 |
| Xiaomi | 23124RA7EO | Android 15 | - | 1 | 17 Jun 2025 |
| Xiaomi | 24117RN76O | Android 15 | 1 | 28 Dec 2025 | |
| Xiaomi | 24117RN76O | Android 16 | 1 | 20 Mar 2026 | |
| Xiaomi | M2012K11AG | Android 13 | - | 1 | 1 Oct 2025 |
| Xiaomi | M2101K6G | Android 13 | 1 | 8 Mar 2026 | |
| Zebra Technologies | KC50 | Android 13 | - | 1 | 22 Dec 2025 |
| Zebra Technologies | KC50 | Android 14 | 1 | 2 Jun 2026 | |
| Zebra Technologies | TC21 | Android 13 | - | 1 | 6 Sep 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| Captive Portal Login | en-us | 98 |
| Captive portal login | en-gb | 61 |
| Captive portal login | en | 18 |
| Inloggen via captive portal | nl-NL | 12 |
| Anmeldung über Captive Portal | de-at | 10 |
| Captive portal login | en-GB | 8 |
| Inicio de sesión en portal cautivo | es-es | 8 |
| CaptivePortalLogin | en-us | 7 |
| Inloggen via captive portal | nl-nl | 7 |
| Acceso a portal cautivo | es-us | 6 |
| Accesso a captive portal | it-IT | 5 |
| Anmeldung über Captive Portal | de-de | 5 |
| Captive Portal Login | en | 5 |
| Captive Portal Login | en-US | 5 |
| Captive Portal Login | 4 | |
| Captive portal login | 4 | |
| Авторизация на странице входа | ru-ru | 4 |
| Accesso a captive portal | it-it | 3 |
| Captive portal login | en-au | 3 |
| Captive portal login | en-nl | 3 |
| CaptivePortalLogin | en | 2 |
| CaptivePortalLogin | en-GB | 2 |
| CaptivePortalLogin | en-gb | 2 |
| Connexion au portail captif | fr-fr | 2 |
| Inicio de sesión en portal cautivo | es-ES | 2 |
| Inloggning i infångstportal | sv-SE | 2 |
| Đăng nhập trang xác thực | vi-VN | 2 |
| Đăng nhập trang xác thực | vi-vn | 2 |
| Acceso a portal cautivo | es-MX | 1 |
| Acceso a portal cautivo | es-US | 1 |
| Acceso a portal cautivo | es-mx | 1 |
| Captive Portal Login | en-us-u-fw-sat | 1 |
| Captive Portal Login | en-BD | 1 |
| Captive Portal Login | en-bd | 1 |
| Captive Portal Login | en-ca-u-fw-mon-mu-celsius | 1 |
| Captive Portal Login | en-lk | 1 |
| Captive Portal Login | en-us-u-fw-mon-ms-ussystem-mu-fahrenhe | 1 |
| Captive portal login | en-pk | 1 |
| Captive portal login | en-mt | 1 |
| Captive portal login | en-in | 1 |
| Captive portal login | en-de | 1 |
| CaptivePortalLogin | nl-nl | 1 |
| CaptivePortalLogin | es-es | 1 |
| CaptivePortalLogin | fr-fr | 1 |
| CaptivePortalLogin | fr-FR | 1 |
| CaptivePortalLogin | es-us | 1 |
| CaptivePortalLogin | es-US | 1 |
| Connexion au portail captif | fr-dz | 1 |
| Inloggning i infångstportal | sv-se | 1 |
| Logowanie do portalu przechwytującego | pl-PL | 1 |
| Logowanie do portalu przechwytującego | pl-pl | 1 |
| キャプティブ ポータル ログイン | ja-jp | 1 |