# FirebaseMessagingService


```
public class FirebaseMessagingService extends Service
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/kotlin/java/lang/Object.html) |||||
| ↳ | [android.content.Context](https://developer.android.com/reference/kotlin/android/content/Context.html) ||||
|   | ↳ | [android.content.ContextWrapper](https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html) |||
|   |   | ↳ | [android.app.Service](https://developer.android.com/reference/kotlin/android/app/Service.html) ||
|   |   |   | ↳ | [com.google.firebase.messaging.FirebaseMessagingService](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService) |

*** ** * ** ***

Base class for receiving messages from Firebase Cloud Messaging.

Extending this class is required to be able to handle downstream messages. It also provides functionality to automatically display notifications.

Override base class methods to handle any events required by the application. All methods are invoked on a background thread, and *may be called when the app is in the background or not open*.

Include the following in the manifest:

```
<service
    android:name=".YourFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
```

To support receiving messages in [direct boot mode](https://developer.android.com/training/articles/direct-boot), add `android:directBootAware="true"` to the `service` declaration. See [Receive FCM messages in direct boot mode](https://firebase.google.com/docs/cloud-messaging/android/receive#receive_fcm_messages_in_direct_boot_mode) for more information.

## Summary

| ### Public constructors |
|---|
| `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#FirebaseMessagingService()()` |

| ### Public methods |
|---|---|
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onDeletedMessages()()` Called when the Firebase Cloud Messaging server deletes pending messages. |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onDestroy()()` |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onMessageReceived(com.google.firebase.messaging.RemoteMessage)(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage message)` Called when a message is received. |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html [onMessageSent](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onMessageSent(java.lang.String))(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html msgId)` **This method is deprecated.** This function is actually **decommissioned** along with all of FCM upstream messaging. <br /> |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html [onNewToken](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onNewToken(java.lang.String))(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html token)` **This method is deprecated.** Use `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onRegistered(java.lang.String)` instead. <br /> |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onRegistered(java.lang.String)(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html installationId)` Called when the current app instance has been successfully registered with FCM. |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html [onSendError](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onSendError(java.lang.String,java.lang.Exception))(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html msgId, @https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/Exception.html exception)` **This method is deprecated.** This function is actually **decommissioned** along with all of FCM upstream messaging. <br /> |
| `void` | `@https://developer.android.com/reference/kotlin/androidx/annotation/WorkerThread.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onUnregistered(java.lang.String)(@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html installationId)` Called when the current app instance has been successfully unregistered from FCM via a call to `FirebaseMessaging.unregister()`. |

| ### Inherited Constants |
|---|
| From [android.content.ComponentCallbacks2](https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html) |---|---| | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_BACKGROUND-- = 40` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_COMPLETE-- = 80` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_MODERATE-- = 60` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_RUNNING_CRITICAL-- = 15` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_RUNNING_LOW-- = 10` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_RUNNING_MODERATE-- = 5` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks2.html#TRIM_MEMORY_UI_HIDDEN-- = 20` | |
| From [android.content.Context](https://developer.android.com/reference/kotlin/android/content/Context.html) |---|---| | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#ACCESSIBILITY_SERVICE-- = "accessibility"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#ACCOUNT_SERVICE-- = "account"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#ACTIVITY_SERVICE-- = "activity"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#ALARM_SERVICE-- = "alarm"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#APPWIDGET_SERVICE-- = "appwidget"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#APP_OPS_SERVICE-- = "appops"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#APP_SEARCH_SERVICE-- = "app_search"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#AUDIO_SERVICE-- = "audio"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BATTERY_SERVICE-- = "batterymanager"` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_ABOVE_CLIENT-- = 8` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_ADJUST_WITH_ACTIVITY-- = 128` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_ALLOW_ACTIVITY_STARTS-- = 512` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_ALLOW_OOM_MANAGEMENT-- = 16` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_AUTO_CREATE-- = 1` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_DEBUG_UNBIND-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_EXTERNAL_SERVICE-- = -2147483648` | | `static final long` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_EXTERNAL_SERVICE_LONG-- = 4611686018427387904` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_IMPORTANT-- = 64` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_INCLUDE_CAPABILITIES-- = 4096` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_NOT_FOREGROUND-- = 4` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_NOT_PERCEPTIBLE-- = 256` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_SHARED_ISOLATED_PROCESS-- = 8192` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIND_WAIVE_PRIORITY-- = 32` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BIOMETRIC_SERVICE-- = "biometric"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BLOB_STORE_SERVICE-- = "blob_store"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BLUETOOTH_SERVICE-- = "bluetooth"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#BUGREPORT_SERVICE-- = "bugreport"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CAMERA_SERVICE-- = "camera"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CAPTIONING_SERVICE-- = "captioning"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CARRIER_CONFIG_SERVICE-- = "carrier_config"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CLIPBOARD_SERVICE-- = "clipboard"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#COMPANION_DEVICE_SERVICE-- = "companiondevice"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONNECTIVITY_DIAGNOSTICS_SERVICE-- = "connectivity_diagnostics"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONNECTIVITY_SERVICE-- = "connectivity"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONSUMER_IR_SERVICE-- = "consumer_ir"` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONTEXT_IGNORE_SECURITY-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONTEXT_INCLUDE_CODE-- = 1` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CONTEXT_RESTRICTED-- = 4` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CREDENTIAL_SERVICE-- = "credential"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#CROSS_PROFILE_APPS_SERVICE-- = "crossprofileapps"` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DEVICE_ID_DEFAULT-- = 0` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DEVICE_ID_INVALID-- = -1` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DEVICE_LOCK_SERVICE-- = "device_lock"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DEVICE_POLICY_SERVICE-- = "device_policy"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DISPLAY_HASH_SERVICE-- = "display_hash"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DISPLAY_SERVICE-- = "display"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DOMAIN_VERIFICATION_SERVICE-- = "domain_verification"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DOWNLOAD_SERVICE-- = "download"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#DROPBOX_SERVICE-- = "dropbox"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#EUICC_SERVICE-- = "euicc"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#FILE_INTEGRITY_SERVICE-- = "file_integrity"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#FINGERPRINT_SERVICE-- = "fingerprint"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#GAME_SERVICE-- = "game"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#GRAMMATICAL_INFLECTION_SERVICE-- = "grammatical_inflection"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#HARDWARE_PROPERTIES_SERVICE-- = "hardware_properties"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#HEALTHCONNECT_SERVICE-- = "healthconnect"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#INPUT_METHOD_SERVICE-- = "input_method"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#INPUT_SERVICE-- = "input"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#IPSEC_SERVICE-- = "ipsec"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#JOB_SCHEDULER_SERVICE-- = "jobscheduler"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#KEYGUARD_SERVICE-- = "keyguard"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#LAUNCHER_APPS_SERVICE-- = "launcherapps"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#LAYOUT_INFLATER_SERVICE-- = "layout_inflater"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#LOCALE_SERVICE-- = "locale"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#LOCATION_SERVICE-- = "location"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MEDIA_COMMUNICATION_SERVICE-- = "media_communication"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MEDIA_METRICS_SERVICE-- = "media_metrics"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MEDIA_PROJECTION_SERVICE-- = "media_projection"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MEDIA_ROUTER_SERVICE-- = "media_router"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MEDIA_SESSION_SERVICE-- = "media_session"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MIDI_SERVICE-- = "midi"` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_APPEND-- = 32768` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_ENABLE_WRITE_AHEAD_LOGGING-- = 8` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_MULTI_PROCESS-- = 4` **This field is deprecated.** | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_NO_LOCALIZED_COLLATORS-- = 16` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_PRIVATE-- = 0` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_WORLD_READABLE-- = 1` **This field is deprecated.** | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#MODE_WORLD_WRITEABLE-- = 2` **This field is deprecated.** | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#NETWORK_STATS_SERVICE-- = "netstats"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#NFC_SERVICE-- = "nfc"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#NOTIFICATION_SERVICE-- = "notification"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#NSD_SERVICE-- = "servicediscovery"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#OVERLAY_SERVICE-- = "overlay"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#PEOPLE_SERVICE-- = "people"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#PERFORMANCE_HINT_SERVICE-- = "performance_hint"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#POWER_SERVICE-- = "power"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#PRINT_SERVICE-- = "print"` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#RECEIVER_EXPORTED-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#RECEIVER_NOT_EXPORTED-- = 4` | | `static final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#RECEIVER_VISIBLE_TO_INSTANT_APPS-- = 1` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#RESTRICTIONS_SERVICE-- = "restrictions"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#ROLE_SERVICE-- = "role"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#SEARCH_SERVICE-- = "search"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#SENSOR_SERVICE-- = "sensor"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#SHORTCUT_SERVICE-- = "shortcut"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#STATUS_BAR_SERVICE-- = "statusbar"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#STORAGE_SERVICE-- = "storage"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#STORAGE_STATS_SERVICE-- = "storagestats"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#SYSTEM_HEALTH_SERVICE-- = "systemhealth"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TELECOM_SERVICE-- = "telecom"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TELEPHONY_IMS_SERVICE-- = "telephony_ims"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TELEPHONY_SERVICE-- = "phone"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TELEPHONY_SUBSCRIPTION_SERVICE-- = "telephony_subscription_service"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TEXT_CLASSIFICATION_SERVICE-- = "textclassification"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TEXT_SERVICES_MANAGER_SERVICE-- = "textservices"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TV_INPUT_SERVICE-- = "tv_input"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#TV_INTERACTIVE_APP_SERVICE-- = "tv_interactive_app"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#UI_MODE_SERVICE-- = "uimode"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#USAGE_STATS_SERVICE-- = "usagestats"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#USB_SERVICE-- = "usb"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#USER_SERVICE-- = "user"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#VIBRATOR_MANAGER_SERVICE-- = "vibrator_manager"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#VIBRATOR_SERVICE-- = "vibrator"` **This field is deprecated.** | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#VIRTUAL_DEVICE_SERVICE-- = "virtualdevice"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#VPN_MANAGEMENT_SERVICE-- = "vpn_management"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WALLPAPER_SERVICE-- = "wallpaper"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WIFI_AWARE_SERVICE-- = "wifiaware"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WIFI_P2P_SERVICE-- = "wifip2p"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WIFI_RTT_RANGING_SERVICE-- = "wifirtt"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WIFI_SERVICE-- = "wifi"` | | `static final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#WINDOW_SERVICE-- = "window"` | |
| From [android.app.Service](https://developer.android.com/reference/kotlin/android/app/Service.html) |---|---| | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_CONTINUATION_MASK-- = 15` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_FLAG_REDELIVERY-- = 1` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_FLAG_RETRY-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_NOT_STICKY-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_REDELIVER_INTENT-- = 3` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_STICKY-- = 1` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#START_STICKY_COMPATIBILITY-- = 0` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#STOP_FOREGROUND_DETACH-- = 2` | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#STOP_FOREGROUND_LEGACY-- = 0` **This field is deprecated.** | | `static final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#STOP_FOREGROUND_REMOVE-- = 1` | |

| ### Inherited methods |
|---|
| From [android.content.Context](https://developer.android.com/reference/kotlin/android/content/Context.html) |---|---| | `final int` | `https://developer.android.com/reference/kotlin/android/content/Context.html#getColor-int-(int id)` | | `final https://developer.android.com/reference/kotlin/android/content/res/ColorStateList.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#getColorStateList-int-(int id)` | | `final https://developer.android.com/reference/kotlin/android/graphics/drawable/Drawable.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#getDrawable-int-(int id)` | | `final https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#getString-int-(int resId)` | | `final T` | `<T> https://developer.android.com/reference/kotlin/android/content/Context.html#getSystemService-java.lang.Class&lt;T&gt;-(https://developer.android.com/reference/kotlin/java/lang/Class.html<T> serviceClass)` | | `final https://developer.android.com/reference/kotlin/java/lang/CharSequence.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#getText-int-(int resId)` | | `final https://developer.android.com/reference/kotlin/android/content/res/TypedArray.html` | `https://developer.android.com/reference/kotlin/android/content/Context.html#obtainStyledAttributes-int[]-(int[] attrs)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/Context.html#revokeSelfPermissionOnKill-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permName)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/Context.html#sendBroadcastWithMultiplePermissions-android.content.Intent-java.lang.String[]-( https://developer.android.com/reference/kotlin/android/content/Intent.html intent, String[] receiverPermissions )` | |
| From [android.content.ContextWrapper](https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html) |---|---| | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#bindIsolatedService-android.content.Intent-int-java.lang.String-java.util.concurrent.Executor-android.content.ServiceConnection-( https://developer.android.com/reference/kotlin/android/content/Intent.html service, int flags, https://developer.android.com/reference/kotlin/java/lang/String.html instanceName, https://developer.android.com/reference/kotlin/java/util/concurrent/Executor.html executor, https://developer.android.com/reference/kotlin/android/content/ServiceConnection.html conn )` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#bindService-android.content.Intent-android.content.ServiceConnection-int-(https://developer.android.com/reference/kotlin/android/content/Intent.html service, https://developer.android.com/reference/kotlin/android/content/ServiceConnection.html conn, int flags)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#bindServiceAsUser-android.content.Intent-android.content.ServiceConnection-int-android.os.UserHandle-( https://developer.android.com/reference/kotlin/android/content/Intent.html service, https://developer.android.com/reference/kotlin/android/content/ServiceConnection.html conn, int flags, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user )` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingOrSelfPermission-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingOrSelfUriPermission-android.net.Uri-int-(https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags)` | | `int[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingOrSelfUriPermissions-java.util.List&lt;android.net.Uri&gt;-int-(https://developer.android.com/reference/kotlin/java/util/List.html<https://developer.android.com/reference/kotlin/android/net/Uri.html> uris, int modeFlags)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingPermission-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingUriPermission-android.net.Uri-int-(https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags)` | | `int[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkCallingUriPermissions-java.util.List&lt;android.net.Uri&gt;-int-(https://developer.android.com/reference/kotlin/java/util/List.html<https://developer.android.com/reference/kotlin/android/net/Uri.html> uris, int modeFlags)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkPermission-java.lang.String-int-int-(https://developer.android.com/reference/kotlin/java/lang/String.html permission, int pid, int uid)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkSelfPermission-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkUriPermission-android.net.Uri-int-int-int-(https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int pid, int uid, int modeFlags)` | | `int[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#checkUriPermissions-java.util.List&lt;android.net.Uri&gt;-int-int-int-(https://developer.android.com/reference/kotlin/java/util/List.html<https://developer.android.com/reference/kotlin/android/net/Uri.html> uris, int pid, int uid, int modeFlags)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#clearWallpaper--()` **This method is deprecated.** | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createAttributionContext-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html attributionTag)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createConfigurationContext-android.content.res.Configuration-(https://developer.android.com/reference/kotlin/android/content/res/Configuration.html overrideConfiguration)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createContext-android.content.ContextParams-(https://developer.android.com/reference/kotlin/android/content/ContextParams.html contextParams)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createContextForSplit-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html splitName)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createDeviceContext-int-(int deviceId)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createDeviceProtectedStorageContext--()` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createDisplayContext-android.view.Display-(https://developer.android.com/reference/kotlin/android/view/Display.html display)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createPackageContext-java.lang.String-int-(https://developer.android.com/reference/kotlin/java/lang/String.html packageName, int flags)` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#createWindowContext-int-android.os.Bundle-(int type, https://developer.android.com/reference/kotlin/android/os/Bundle.html options)` | | `String[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#databaseList--()` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#deleteDatabase-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#deleteFile-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#deleteSharedPreferences-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforceCallingOrSelfPermission-java.lang.String-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission, https://developer.android.com/reference/kotlin/java/lang/String.html message)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforceCallingOrSelfUriPermission-android.net.Uri-int-java.lang.String-( https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags, https://developer.android.com/reference/kotlin/java/lang/String.html message )` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforceCallingPermission-java.lang.String-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission, https://developer.android.com/reference/kotlin/java/lang/String.html message)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforceCallingUriPermission-android.net.Uri-int-java.lang.String-(https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags, https://developer.android.com/reference/kotlin/java/lang/String.html message)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforcePermission-java.lang.String-int-int-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html permission, int pid, int uid, https://developer.android.com/reference/kotlin/java/lang/String.html message)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#enforceUriPermission-android.net.Uri-int-int-int-java.lang.String-( https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int pid, int uid, int modeFlags, https://developer.android.com/reference/kotlin/java/lang/String.html message )` | | `String[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#fileList--()` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getApplicationContext--()` | | `https://developer.android.com/reference/kotlin/android/content/pm/ApplicationInfo.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getApplicationInfo--()` | | `https://developer.android.com/reference/kotlin/android/content/res/AssetManager.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getAssets--()` | | `https://developer.android.com/reference/kotlin/android/content/AttributionSource.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getAttributionSource--()` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getAttributionTag--()` | | `https://developer.android.com/reference/kotlin/android/content/Context.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getBaseContext--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getCacheDir--()` | | `https://developer.android.com/reference/kotlin/java/lang/ClassLoader.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getClassLoader--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getCodeCacheDir--()` | | `https://developer.android.com/reference/kotlin/android/content/ContentResolver.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getContentResolver--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getDataDir--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getDatabasePath-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getDeviceId--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getDir-java.lang.String-int-(https://developer.android.com/reference/kotlin/java/lang/String.html name, int mode)` | | `https://developer.android.com/reference/kotlin/android/view/Display.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getDisplay--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getExternalCacheDir--()` | | `File[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getExternalCacheDirs--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getExternalFilesDir-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html type)` | | `File[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getExternalFilesDirs-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html type)` | | `File[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getExternalMediaDirs--()` **This method is deprecated.** | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getFileStreamPath-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getFilesDir--()` | | `https://developer.android.com/reference/kotlin/java/util/concurrent/Executor.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getMainExecutor--()` | | `https://developer.android.com/reference/kotlin/android/os/Looper.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getMainLooper--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getNoBackupFilesDir--()` | | `https://developer.android.com/reference/kotlin/java/io/File.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getObbDir--()` | | `File[]` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getObbDirs--()` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getOpPackageName--()` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getPackageCodePath--()` | | `https://developer.android.com/reference/kotlin/android/content/pm/PackageManager.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getPackageManager--()` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getPackageName--()` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getPackageResourcePath--()` | | `https://developer.android.com/reference/kotlin/android/content/ContextParams.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getParams--()` | | `https://developer.android.com/reference/kotlin/android/content/res/Resources.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getResources--()` | | `https://developer.android.com/reference/kotlin/android/content/SharedPreferences.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getSharedPreferences-java.lang.String-int-(https://developer.android.com/reference/kotlin/java/lang/String.html name, int mode)` | | `https://developer.android.com/reference/kotlin/java/lang/Object.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getSystemService-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `https://developer.android.com/reference/kotlin/java/lang/String.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getSystemServiceName-java.lang.Class&lt;?&gt;-(https://developer.android.com/reference/kotlin/java/lang/Class.html<https://developer.android.com/reference/kotlin/java/lang/Object.html> serviceClass)` | | `https://developer.android.com/reference/kotlin/android/content/res/Resources.Theme.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getTheme--()` | | `https://developer.android.com/reference/kotlin/android/graphics/drawable/Drawable.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getWallpaper--()` **This method is deprecated.** | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getWallpaperDesiredMinimumHeight--()` **This method is deprecated.** | | `int` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#getWallpaperDesiredMinimumWidth--()` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#grantUriPermission-java.lang.String-android.net.Uri-int-(https://developer.android.com/reference/kotlin/java/lang/String.html toPackage, https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#isDeviceProtectedStorage--()` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#isRestricted--()` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#isUiContext--()` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#moveDatabaseFrom-android.content.Context-java.lang.String-(https://developer.android.com/reference/kotlin/android/content/Context.html sourceContext, https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#moveSharedPreferencesFrom-android.content.Context-java.lang.String-(https://developer.android.com/reference/kotlin/android/content/Context.html sourceContext, https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `https://developer.android.com/reference/kotlin/java/io/FileInputStream.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#openFileInput-java.lang.String-(https://developer.android.com/reference/kotlin/java/lang/String.html name)` | | `https://developer.android.com/reference/kotlin/java/io/FileOutputStream.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#openFileOutput-java.lang.String-int-(https://developer.android.com/reference/kotlin/java/lang/String.html name, int mode)` | | `https://developer.android.com/reference/kotlin/android/database/sqlite/SQLiteDatabase.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#openOrCreateDatabase-java.lang.String-int-android.database.sqlite.SQLiteDatabase.CursorFactory-( https://developer.android.com/reference/kotlin/java/lang/String.html name, int mode, https://developer.android.com/reference/kotlin/android/database/sqlite/SQLiteDatabase.CursorFactory.html factory )` | | `https://developer.android.com/reference/kotlin/android/graphics/drawable/Drawable.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#peekWallpaper--()` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#registerComponentCallbacks-android.content.ComponentCallbacks-(https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks.html callback)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#registerDeviceIdChangeListener-java.util.concurrent.Executor-java.util.function.IntConsumer-(https://developer.android.com/reference/kotlin/java/util/concurrent/Executor.html executor, https://developer.android.com/reference/kotlin/java/util/function/IntConsumer.html listener)` | | `https://developer.android.com/reference/kotlin/android/content/Intent.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#registerReceiver-android.content.BroadcastReceiver-android.content.IntentFilter-(https://developer.android.com/reference/kotlin/android/content/BroadcastReceiver.html receiver, https://developer.android.com/reference/kotlin/android/content/IntentFilter.html filter)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#removeStickyBroadcast-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#removeStickyBroadcastAsUser-android.content.Intent-android.os.UserHandle-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#revokeSelfPermissionsOnKill-java.util.Collection&lt;java.lang.String&gt;-(https://developer.android.com/reference/kotlin/java/util/Collection.html<https://developer.android.com/reference/kotlin/java/lang/String.html> permissions)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#revokeUriPermission-android.net.Uri-int-(https://developer.android.com/reference/kotlin/android/net/Uri.html uri, int modeFlags)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendBroadcast-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendBroadcastAsUser-android.content.Intent-android.os.UserHandle-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendOrderedBroadcast-android.content.Intent-java.lang.String-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/java/lang/String.html receiverPermission)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendOrderedBroadcastAsUser-android.content.Intent-android.os.UserHandle-java.lang.String-android.content.BroadcastReceiver-android.os.Handler-int-java.lang.String-android.os.Bundle-( https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user, https://developer.android.com/reference/kotlin/java/lang/String.html receiverPermission, https://developer.android.com/reference/kotlin/android/content/BroadcastReceiver.html resultReceiver, https://developer.android.com/reference/kotlin/android/os/Handler.html scheduler, int initialCode, https://developer.android.com/reference/kotlin/java/lang/String.html initialData, https://developer.android.com/reference/kotlin/android/os/Bundle.html initialExtras )` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendStickyBroadcast-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendStickyBroadcastAsUser-android.content.Intent-android.os.UserHandle-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendStickyOrderedBroadcast-android.content.Intent-android.content.BroadcastReceiver-android.os.Handler-int-java.lang.String-android.os.Bundle-( https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/content/BroadcastReceiver.html resultReceiver, https://developer.android.com/reference/kotlin/android/os/Handler.html scheduler, int initialCode, https://developer.android.com/reference/kotlin/java/lang/String.html initialData, https://developer.android.com/reference/kotlin/android/os/Bundle.html initialExtras )` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#sendStickyOrderedBroadcastAsUser-android.content.Intent-android.os.UserHandle-android.content.BroadcastReceiver-android.os.Handler-int-java.lang.String-android.os.Bundle-( https://developer.android.com/reference/kotlin/android/content/Intent.html intent, https://developer.android.com/reference/kotlin/android/os/UserHandle.html user, https://developer.android.com/reference/kotlin/android/content/BroadcastReceiver.html resultReceiver, https://developer.android.com/reference/kotlin/android/os/Handler.html scheduler, int initialCode, https://developer.android.com/reference/kotlin/java/lang/String.html initialData, https://developer.android.com/reference/kotlin/android/os/Bundle.html initialExtras )` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#setTheme-int-(int resid)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#setWallpaper-android.graphics.Bitmap-(https://developer.android.com/reference/kotlin/android/graphics/Bitmap.html bitmap)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startActivities-android.content.Intent[]-(Intent[] intents)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startActivity-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` | | `https://developer.android.com/reference/kotlin/android/content/ComponentName.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startForegroundService-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html service)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startInstrumentation-android.content.ComponentName-java.lang.String-android.os.Bundle-( https://developer.android.com/reference/kotlin/android/content/ComponentName.html className, https://developer.android.com/reference/kotlin/java/lang/String.html profileFile, https://developer.android.com/reference/kotlin/android/os/Bundle.html arguments )` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startIntentSender-android.content.IntentSender-android.content.Intent-int-int-int-( https://developer.android.com/reference/kotlin/android/content/IntentSender.html intent, https://developer.android.com/reference/kotlin/android/content/Intent.html fillInIntent, int flagsMask, int flagsValues, int extraFlags )` | | `https://developer.android.com/reference/kotlin/android/content/ComponentName.html` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#startService-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html service)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#stopService-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html name)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#unbindService-android.content.ServiceConnection-(https://developer.android.com/reference/kotlin/android/content/ServiceConnection.html conn)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#unregisterComponentCallbacks-android.content.ComponentCallbacks-(https://developer.android.com/reference/kotlin/android/content/ComponentCallbacks.html callback)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#unregisterDeviceIdChangeListener-java.util.function.IntConsumer-(https://developer.android.com/reference/kotlin/java/util/function/IntConsumer.html listener)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#unregisterReceiver-android.content.BroadcastReceiver-(https://developer.android.com/reference/kotlin/android/content/BroadcastReceiver.html receiver)` | | `void` | `https://developer.android.com/reference/kotlin/android/content/ContextWrapper.html#updateServiceGroup-android.content.ServiceConnection-int-int-(https://developer.android.com/reference/kotlin/android/content/ServiceConnection.html conn, int group, int importance)` | |
| From [android.app.Service](https://developer.android.com/reference/kotlin/android/app/Service.html) |---|---| | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#attachBaseContext-android.content.Context-(https://developer.android.com/reference/kotlin/android/content/Context.html newBase)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#dump-java.io.FileDescriptor-java.io.PrintWriter-java.lang.String[]-(https://developer.android.com/reference/kotlin/java/io/FileDescriptor.html fd, https://developer.android.com/reference/kotlin/java/io/PrintWriter.html writer, String[] args)` | | `final https://developer.android.com/reference/kotlin/android/app/Application.html` | `https://developer.android.com/reference/kotlin/android/app/Service.html#getApplication--()` | | `final int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#getForegroundServiceType--()` | | `abstract https://developer.android.com/reference/kotlin/android/os/IBinder.html` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onBind-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html p)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onConfigurationChanged-android.content.res.Configuration-(https://developer.android.com/reference/kotlin/android/content/res/Configuration.html newConfig)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onCreate--()` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onDestroy--()` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onLowMemory--()` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onRebind-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onStart-android.content.Intent-int-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, int startId)` **This method is deprecated.** | | `int` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onStartCommand-android.content.Intent-int-int-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent, int flags, int startId)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onTaskRemoved-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html rootIntent)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onTimeout-int-(int startId)` | | `void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onTrimMemory-int-(int level)` | | `boolean` | `https://developer.android.com/reference/kotlin/android/app/Service.html#onUnbind-android.content.Intent-(https://developer.android.com/reference/kotlin/android/content/Intent.html intent)` | | `final void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#startForeground-int-android.app.Notification-(int id, https://developer.android.com/reference/kotlin/android/app/Notification.html notification)` | | `final void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#stopForeground-boolean-(boolean removeNotification)` **This method is deprecated.** | | `final void` | `https://developer.android.com/reference/kotlin/android/app/Service.html#stopSelf--()` | | `final boolean` | `https://developer.android.com/reference/kotlin/android/app/Service.html#stopSelfResult-int-(int startId)` | |

## Public constructors

### FirebaseMessagingService

```
public FirebaseMessagingService()
```

## Public methods

### onDeletedMessages

```
@WorkerThread
public void onDeletedMessages()
```

Called when the Firebase Cloud Messaging server deletes pending messages. This may be due to:

1. Too many messages stored on the Firebase Cloud Messaging server. This can occur when the app's servers send a bunch of non-collapsible messages to Firebase Cloud Messaging servers while the device is offline.
2. The device hasn't connected in a long time and the app server has recently (within the last 4 weeks) sent a message to the app on that device.

It is recommended that the app do a full sync with the app server after receiving this call. See [here](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) for more information.

### onDestroy

```
@CallSuper
public void onDestroy()
```

### onMessageReceived

```
@WorkerThread
public void onMessageReceived(@NonNull RemoteMessage message)
```

Called when a message is received.

This should complete within 20 seconds. Taking longer may interfere with your ability to complete your work and may affect pending messages.

This is also called when a notification message is received while the app is in the foreground. The notification parameters can be retrieved with `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage#getNotification()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage message` | Remote message that has been received. |

### onMessageSent

```
@WorkerThread
public void [onMessageSent](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onMessageSent(java.lang.String))(@NonNull String msgId)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> This function is actually **decommissioned** along with all of FCM upstream messaging. Learn more in the [FAQ about FCM features deprecated in June 2023](https://firebase.google.com/support/faq#fcm-23-deprecation).

Called when an upstream message has been successfully sent to the GCM connection server.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html msgId` | of the upstream message sent using `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#send(com.google.firebase.messaging.RemoteMessage)`. |

### onNewToken

```
@WorkerThread
public void [onNewToken](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onNewToken(java.lang.String))(@NonNull String token)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onRegistered(java.lang.String)` instead.

Called when a new token for the default Firebase project is generated.

This is invoked after app install when a token is first generated, and again if the token changes.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html token` | The token used for sending messages to this application instance. This token is the same as the one retrieved by `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#getToken()`. |

### onRegistered

```
@WorkerThread
public void onRegistered(@NonNull String installationId)
```

Called when the current app instance has been successfully registered with FCM.

This method provides the unique Firebase Installation ID (FID), which should be used to target this app instance for direct-send messaging.

This callback is triggered in the following scenarios:

- When the registration first succeeds after app install (if auto-init is enabled).
- When the registration is refreshed due to invalidation or updates (if auto-init is enabled).
- Immediately after a direct call to `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#register()`.

Ensure the provided \`installationId\` is uploaded if it hasn't been previously or it might have been deleted on 404s.

**Note:** To use this API, you must enable it by adding `<meta-data
android:name="firebase_messaging_installation_id_enabled" android:value="true" />` to your app's manifest.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html installationId` | The Firebase Installation ID used for sending messages to the current app instance. |

### onSendError

```
@WorkerThread
public void [onSendError](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService#onSendError(java.lang.String,java.lang.Exception))(@NonNull String msgId, @NonNull Exception exception)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> This function is actually **decommissioned** along with all of FCM upstream messaging. Learn more in the [FAQ about FCM features deprecated in June 2023](https://firebase.google.com/support/faq#fcm-23-deprecation).

Called when there was an error sending an upstream message.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html msgId` | of the upstream message sent using `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#send(com.google.firebase.messaging.RemoteMessage)`. |
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/Exception.html exception` | description of the error, typically a `https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/SendException`. |

### onUnregistered

```
@WorkerThread
public void onUnregistered(@NonNull String installationId)
```

Called when the current app instance has been successfully unregistered from FCM via a call to `FirebaseMessaging.unregister()`.

This method confirms that the specified FID is no longer active for receiving FCM messages.

**Note:** To use this API, you must enable it by adding `<meta-data
android:name="firebase_messaging_installation_id_enabled" android:value="true" />` to your app's manifest.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html https://developer.android.com/reference/kotlin/java/lang/String.html installationId` | The Firebase Installation ID of the current app instance that was unregistered with FCM. |