Package
com.mediatek.gnss.nonframeworklbs
MTK Non-Framework Location-Based Service
Guidance
"MTK Non-Framework Location-Based Service". Unlike the two engineering tools above, this one is named after a mechanism that Android itself defines, and that mechanism is the best way to understand it. AOSP's GNSS visibility control HAL covers location delivered to non-framework, or NFW, entities: parties on or off the device, such as carriers, vendors and OEMs, that receive location outside the normal Android framework path, typically through network-initiated requests. The framework hands the GNSS HAL a list of proxy applications whose package names stand in for those non-framework entities. It then watches each proxy application's location permission and the device location settings, and enables or disables non-framework location access accordingly, so that the user has visible control over it. The HAL must in turn notify the framework whenever location is delivered to, or a request rejected for, a non-framework entity. This package's name and permission set are consistent with it being MediaTek's proxy application for that mechanism: it holds fine, coarse and background location, QUERY_ALL_PACKAGES, WRITE_SECURE_SETTINGS and POST_NOTIFICATIONS, and nothing that suggests a user-facing feature. It has no launcher icon and is never user-facing across our observations. That reading is a synthesis from the AOSP interface and the observed permissions. MediaTek does not publish documentation confirming it, so it is flagged here rather than asserted, and the descriptions of this package circulating on app-listing and content sites were not treated as sources. For Android Enterprise, EMM and kiosk use this is a privacy and governance question, and the control is more subtle than it looks. If this is the proxy application, then its location permission is the documented lever: the framework uses that permission to decide whether the GNSS HAL may serve non-framework location at all, so withholding location permission from it is the supported way to deny carrier and vendor location access, and it keeps the user-visibility behaviour the HAL is required to provide. Disabling or removing the package instead is a different and undocumented thing to do, because the framework then has no proxy permission to evaluate, and AOSP does not describe what a HAL does in that case. Note also that AOSP requires the HAL to serve network-initiated location for user-initiated emergency calls regardless of this permission, so none of this should be treated as a way to suppress emergency location. Version note: the visibility control interface cited carries a 2018 copyright and sits with the GNSS 2.0 HAL, and in our sample this package appears only on devices from API 30 upward, across makers including TCL, Motorola, Lenovo, Nothing, Newland, OUKITEL, Blackview, CUBOT, Ulefone, Unihertz, Infinix and NUU, reporting version 1.0 with target SDKs of 33 to 36. When MediaTek introduced it, and whether its role has changed in a recent Android release, could not be sourced.
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.
- Re-signed by each device maker with its own platform key - 6 different certificates appear across 3 device makers in our sample. That is the signature of a stock AOSP/system package every OEM builds and signs itself, not a single maker's or a third party's preinstall. These are platform-level keys: they also sign the Android framework itself.
- Its largest observed manifest declares 7 permissions: 4 runtime (user-granted), 1 signature or system-level, 1 install-time and 1 vendor or uncatalogued.
- APK size ranges from 0.1 MB to 3.2 MB across the reporting device profiles, so the build differs substantially between them.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (7)
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_BACKGROUND_LOCATION |
This app can access location at any time, even while the app is not in use. |
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. |
POST_NOTIFICATIONS |
Allows the app to show notifications |
QUERY_ALL_PACKAGES |
Allows an app to see all installed packages. |
WRITE_SECURE_SETTINGS |
Signature or privileged system permission. |
com.google.android.material.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)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 |
| CUBOT | P80 | Android 13 | - | 2 | 20 Sep 2025 |
| Infinix | Infinix X6525B | Android 13 | - | 1 | 5 Dec 2025 |
| Infinix | Infinix X6871 | Android 14 | - | 1 | 21 May 2025 |
| Lenovo | Lenovo TB-X6C6NBF | Android 12 | - | 1 | 15 May 2025 |
| Motorola | moto g05 | Android 15 | OEM Motorola | 2 | 15 Apr 2026 |
| Motorola | moto g06 | Android 15 | - | 2 | 3 Mar 2026 |
| Motorola | moto g15 | Android 15 | - | 10 | 27 Nov 2025 |
| Motorola | moto g24 | Android 14 | OEM Motorola | 1 | 19 Dec 2025 |
| Newland | NLS-MT95 | Android 15 | OEM Newland | 1 | 19 Aug 2026 |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| NUU | S6707X | Android 14 | - | 1 | 12 Jan 2026 |
| OUKITEL | WP100 TITAN | Android 14 | - | 2 | 25 Jul 2025 |
| OUKITEL | WP100 TITAN | Android 15 | - | 1 | 6 Dec 2025 |
| Smt_hk | Helium Pro | Android 12 | - | 1 | 19 Jul 2025 |
| 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 | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
| TCL | T517F | Android 16 | OEM TCL | 2 | 10 Aug 2026 |
| TCL | T610K | Android 14 | - | 1 | 24 Oct 2025 |
| TCL | T951K | Android 15 | OEM TCL | 8 | 8 Jan 2026 |
| Ulefone | Power Armor X11 Pro | Android 12 | - | 1 | 15 Sep 2025 |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| MTK Non-Framework Location-Based Service | en-gb | 19 |
| MTK Non-Framework LBS | de-at | 10 |
| MTK Non-Framework LBS | en-us | 9 |
| Servicio basado en ubicación (LBS) sin marco MTK | es-es | 5 |
| MTK Non-Framework Location-Based Service | en | 3 |
| Carrier Location Access | en-us | 2 |
| Carrier location access | en-GB | 1 |
| Carrier location access | en-gb | 1 |
| MTK Non-Framework LBS | en | 1 |
| MTK Non-Framework LBS | en-US | 1 |
| MTK Non-Framework LBS (MTK не Фреймворк LBS) | ru-ru | 1 |
| MTK Non-Framework Location-Based Service | en-GB | 1 |
| MTK nerámcová služba určování polohy | cs-cz | 1 |
| Servicio con base en la ubicación fuera del marco MTK | es-us | 1 |