Skip to content

Android

Implementation

Android support uses native Kotlin with Android SDK APIs.

Technologies Used

  • android.os.Build - Device information
  • BatteryManager - Battery status
  • WifiManager - Network information
  • WindowManager - Display properties
  • Environment - Storage information

APIs Used

InformationAPI
Device NameSettings.Global.DEVICE_NAME
ModelBuild.MODEL
ManufacturerBuild.MANUFACTURER
UUIDSettings.Secure.ANDROID_ID
BatteryBatteryManager
NetworkWifiManager, TelephonyManager
DisplayWindowManager.getDefaultDisplay()
StorageEnvironment.getExternalStorageDirectory()

Permissions

No special permissions are required for basic device info. Optional permissions:

xml
<!-- For more network details -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

Privacy Restrictions

ANDROID_ID

ANDROID_ID is unique per app signing key and device. It changes if:

  • User factory resets the device
  • App is signed with a different key

MAC Address

Since Android 6.0 (API 23), WifiInfo.getMacAddress() returns a constant fake value 02:00:00:00:00:00.

The plugin returns "restricted" or the constant value.

Example Output

json
{
  "deviceName": "Pixel 7",
  "manufacturer": "Google",
  "model": "Pixel 7",
  "uuid": "abc123def456789",
  "serial": null,
  "android_id": "abc123def456789"
}

Battery Health Values

Android provides detailed battery health:

ValueMeaning
BATTERY_HEALTH_GOODGood
BATTERY_HEALTH_OVERHEATOverheating
BATTERY_HEALTH_DEADDead
BATTERY_HEALTH_COLDCold
BATTERY_HEALTH_UNKNOWNUnknown

Minimum SDK

The plugin requires:

  • minSdkVersion: 21 (Android 5.0)
  • targetSdkVersion: 33+ recommended

Released under the MIT License.