Android Permissions & Foreground Service
This page explains the Android permissions used by the current SMP Connect app and why they are needed for its core local-network connection function.
| Android permission / capability | Why SMP Connect uses it |
|---|---|
INTERNET | Allows network sockets required by the Minecraft Bedrock connection process. |
ACCESS_NETWORK_STATE | Allows the app to work with the current network state. |
ACCESS_WIFI_STATE | Allows the app to access Wi-Fi state needed for local-network operation. |
CHANGE_WIFI_MULTICAST_STATE | Allows a Wi-Fi multicast lock so LAN discovery traffic can be received while the connection is active. |
WAKE_LOCK | Allows a partial wake lock while the user-requested temporary connection service is active so screen locking does not immediately interrupt the bootstrap process. |
FOREGROUND_SERVICE | Allows SMP Connect to run the user-started connection as an Android foreground service. |
FOREGROUND_SERVICE_CONNECTED_DEVICE | Declares that the foreground service continuously communicates with an external device/console over the local network. |
POST_NOTIFICATIONS | On Android 13+, allows the ongoing foreground-service notification to appear in the normal notification area when the user grants permission. |
When the Foreground Service Starts
The connection service starts only after the user taps Connect. It is not automatically started in the background on device boot. While active, it advertises the local Bedrock/LAN endpoint so the console can connect even if the user switches to Minecraft or the app activity is no longer visible.
Ongoing Notification
While the foreground service is running, SMP Connect creates an ongoing service notification such as “SMP Connect is active” with text explaining that it should remain running while connecting the console. The notification includes a Stop action. SMP Connect does not attempt to hide the notification.
Notification Permission
On Android 13 and later, the app requests notification permission when the user starts a connection for the first time. The core service handles both Allow and Don't allow without intentionally crashing. Android controls how foreground-service notices are surfaced when notification permission is denied.
No Location Permission
The current app does not request precise or approximate location permission.
