A service that receives calls from the system when new notifications are
posted or removed, or their ranking changed.
Notification listeners cannot get notification access or be bound by the system on
low-RAM devices running Android Q (and below).
The system also ignores notification listeners running in a work profile. A
DevicePolicyManager
might block notifications originating from a work
profile.
Nested classes |
class |
NotificationListenerService.Ranking
Stores ranking related information on a currently active notification.
|
class |
NotificationListenerService.RankingMap
Provides access to ranking information on currently active
notifications.
|
Constants |
String |
ACTION_SETTINGS_HOME
An optional activity intent action that shows additional settings for what notifications
should be processed by this notification listener service.
|
int |
FLAG_FILTER_TYPE_ALERTING
A flag value indicating that this notification listener can see altering type notifications.
|
int |
FLAG_FILTER_TYPE_CONVERSATIONS
A flag value indicating that this notification listener can see conversation type
notifications.
|
int |
FLAG_FILTER_TYPE_ONGOING
A flag value indicating that this notification listener can see important
( > NotificationManager#IMPORTANCE_MIN ) ongoing type notifications.
|
int |
FLAG_FILTER_TYPE_SILENT
A flag value indicating that this notification listener can see silent type notifications.
|
int |
HINT_HOST_DISABLE_CALL_EFFECTS
Listener hints constant - the primary device UI
should disable phone call sounds, but not notification sound.
|
int |
HINT_HOST_DISABLE_EFFECTS
Listener hints constant - the primary device UI
should disable notification sound, vibrating and other visual or aural effects.
|
int |
HINT_HOST_DISABLE_NOTIFICATION_EFFECTS
Listener hints constant - the primary device UI
should disable notification sound, but not phone calls.
|
int |
INTERRUPTION_FILTER_ALARMS
Interruption filter constant -
Alarms only interruption filter.
|
int |
INTERRUPTION_FILTER_ALL
Interruption filter constant -
Normal interruption filter.
|
int |
INTERRUPTION_FILTER_NONE
Interruption filter constant -
No interruptions filter.
|
int |
INTERRUPTION_FILTER_PRIORITY
Interruption filter constant -
Priority interruption filter.
|
int |
INTERRUPTION_FILTER_UNKNOWN
Interruption filter constant - returned when
the value is unavailable for any reason.
|
String |
META_DATA_DEFAULT_AUTOBIND
The name of the meta-data tag containing a boolean value that is used to decide if
this listener should be automatically bound by default.
|
String |
META_DATA_DEFAULT_FILTER_TYPES
The name of the meta-data tag containing a pipe separated list of default
integer notification types or "ongoing", "conversations", "alerting", or "silent"
that should be provided to this listener.
|
String |
META_DATA_DISABLED_FILTER_TYPES
The name of the meta-data tag containing a comma separated list of default
integer notification types that this listener never wants to receive.
|
int |
NOTIFICATION_CHANNEL_OR_GROUP_ADDED
Channel or group modification reason provided to
onNotificationChannelModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannel, int) or
onNotificationChannelGroupModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannelGroup, int) - the provided object was created.
|
int |
NOTIFICATION_CHANNEL_OR_GROUP_DELETED
Channel or group modification reason provided to
onNotificationChannelModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannel, int) or
onNotificationChannelGroupModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannelGroup, int) - the provided object was deleted.
|
int |
NOTIFICATION_CHANNEL_OR_GROUP_UPDATED
Channel or group modification reason provided to
onNotificationChannelModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannel, int) or
onNotificationChannelGroupModified(java.lang.String, android.os.UserHandle, android.app.NotificationChannelGroup, int)
- the provided object was updated.
|
int |
REASON_APP_CANCEL
Notification was canceled by the app canceling this specific notification.
|
int |
REASON_APP_CANCEL_ALL
Notification was canceled by the app cancelling all its notifications.
|
int |
REASON_ASSISTANT_CANCEL
Notification was canceled due to an assistant adjustment update.
|
int |
REASON_CANCEL
Notification was canceled by the status bar reporting a user dismissal.
|
int |
REASON_CANCEL_ALL
Notification was canceled by the status bar reporting a user dismiss all.
|
int |
REASON_CHANNEL_BANNED
Notification was canceled by the user banning the channel.
|
int |
REASON_CHANNEL_REMOVED
Notification was canceled due to the backing channel being deleted
|
int |
REASON_CLEAR_DATA
Notification was canceled due to the app's storage being cleared
|
int |
REASON_CLICK
Notification was canceled by the status bar reporting a notification click.
|
int |
REASON_ERROR
Notification was canceled by the status bar reporting an inflation error.
|
int |
REASON_GROUP_OPTIMIZATION
Notification was canceled because it was an invisible member of a group.
|
int |
REASON_GROUP_SUMMARY_CANCELED
Notification was canceled because it was a member of a canceled group.
|
int |
REASON_LISTENER_CANCEL
Notification was canceled by a listener reporting a user dismissal.
|
int |
REASON_LISTENER_CANCEL_ALL
Notification was canceled by a listener reporting a user dismiss all.
|
int |
REASON_LOCKDOWN
Notification was canceled when entering lockdown mode, which turns off
Smart Lock, fingerprint unlocking, and notifications on the lock screen.
|
int |
REASON_PACKAGE_BANNED
Notification was canceled by the user banning the package.
|
int |
REASON_PACKAGE_CHANGED
Notification was canceled by the package manager modifying the package.
|
int |
REASON_PACKAGE_SUSPENDED
Notification was canceled by the device administrator suspending the package.
|
int |
REASON_PROFILE_TURNED_OFF
Notification was canceled by the owning managed profile being turned off.
|
int |
REASON_SNOOZED
Notification was snoozed.
|
int |
REASON_TIMEOUT
Notification was canceled due to timeout
|
int |
REASON_UNAUTOBUNDLED
Autobundled summary notification was canceled because its group was unbundled
|
int |
REASON_USER_STOPPED
Notification was canceled by the owning user context being stopped.
|
String |
SERVICE_INTERFACE
The Intent that must be declared as handled by the service.
|
int |
SUPPRESSED_EFFECT_SCREEN_OFF
This constant was deprecated
in API level 28.
Use the more specific visual effects in NotificationManager.Policy .
|
int |
SUPPRESSED_EFFECT_SCREEN_ON
This constant was deprecated
in API level 28.
Use the more specific visual effects in NotificationManager.Policy .
|
Inherited constants |
From class
android.app.Service
int |
START_CONTINUATION_MASK
Bits returned by onStartCommand(Intent, int, int) describing how to continue
the service if it is killed.
|
int |
START_FLAG_REDELIVERY
This flag is set in onStartCommand(Intent, int, int) if the Intent is a
re-delivery of a previously delivered intent, because the service
had previously returned START_REDELIVER_INTENT but had been
killed before calling stopSelf(int) for that Intent.
|
int |
START_FLAG_RETRY
This flag is set in onStartCommand(Intent, int, int) if the Intent is a
retry because the original attempt never got to or returned from
onStartCommand(android.content.Intent, int, int) .
|
int |
START_NOT_STICKY
Constant to return from onStartCommand(Intent, int, int) : if this service's
process is killed while it is started (after returning from
onStartCommand(Intent, int, int) ), and there are no new start intents to
deliver to it, then take the service out of the started state and
don't recreate until a future explicit call to
Context.startService(Intent) .
|
int |
START_REDELIVER_INTENT
Constant to return from onStartCommand(Intent, int, int) : if this service's
process is killed while it is started (after returning from
onStartCommand(Intent, int, int) ), then it will be scheduled for a restart
and the last delivered Intent re-delivered to it again via
onStartCommand(Intent, int, int) .
|
int |
START_STICKY
Constant to return from onStartCommand(Intent, int, int) : if this service's
process is killed while it is started (after returning from
onStartCommand(Intent, int, int) ), then leave it in the started state but
don't retain this delivered intent.
|
int |
START_STICKY_COMPATIBILITY
Constant to return from onStartCommand(Intent, int, int) : compatibility
version of START_STICKY that does not guarantee that
onStartCommand(Intent, int, int) will be called again after being killed.
|
int |
STOP_FOREGROUND_DETACH
Selector for stopForeground(int) : if set, the notification previously supplied
to startForeground(int, Notification) will be detached from the service's lifecycle.
|
int |
STOP_FOREGROUND_LEGACY
This constant was deprecated
in API level 33.
Use STOP_FOREGROUND_DETACH instead. The legacy
behavior was inconsistent, leading to bugs around unpredictable results.
|
int |
STOP_FOREGROUND_REMOVE
Selector for stopForeground(int) : if supplied, the notification previously
supplied to startForeground(int, Notification) will be cancelled and removed from display.
|
|
From class
android.content.Context
String |
ACCESSIBILITY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AccessibilityManager for giving the user
feedback for UI events through the registered event listeners.
|
String |
ACCOUNT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AccountManager for receiving intents at a
time of your choosing.
|
String |
ACTIVITY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
ActivityManager for interacting with the global
system state.
|
String |
ALARM_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AlarmManager for receiving intents at a
time of your choosing.
|
String |
APPWIDGET_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AppWidgetManager for accessing AppWidgets.
|
String |
APP_OPS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AppOpsManager for tracking application operations
on the device.
|
String |
APP_SEARCH_SERVICE
Use with getSystemService(java.lang.String) to retrieve an
AppSearchManager for
indexing and querying app data managed by the system.
|
String |
AUDIO_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
AudioManager for handling management of volume,
ringer modes and audio routing.
|
String |
BATTERY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
BatteryManager for managing battery state.
|
int |
BIND_ABOVE_CLIENT
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : indicates that the client application
binding to this service considers the service to be more important than
the app itself.
|
int |
BIND_ADJUST_WITH_ACTIVITY
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : If binding from an activity, allow the
target service's process importance to be raised based on whether the
activity is visible to the user, regardless whether another flag is
used to reduce the amount that the client process's overall importance
is used to impact it.
|
int |
BIND_ALLOW_ACTIVITY_STARTS
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : If binding from an app that is visible, the bound service is
allowed to start an activity from background.
|
int |
BIND_ALLOW_OOM_MANAGEMENT
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : allow the process hosting the bound
service to go through its normal memory management.
|
int |
BIND_AUTO_CREATE
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : automatically create the service as long
as the binding exists.
|
int |
BIND_DEBUG_UNBIND
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : include debugging help for mismatched
calls to unbind.
|
int |
BIND_EXTERNAL_SERVICE
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : The service being bound is an
isolated ,
external service.
|
long |
BIND_EXTERNAL_SERVICE_LONG
Works in the same way as BIND_EXTERNAL_SERVICE , but it's defined as a long
value that is compatible to BindServiceFlags .
|
int |
BIND_IMPORTANT
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : this service is very important to
the client, so should be brought to the foreground process level
when the client is.
|
int |
BIND_INCLUDE_CAPABILITIES
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : If binding from an app that has specific capabilities
due to its foreground state such as an activity or foreground service, then this flag will
allow the bound app to get the same capabilities, as long as it has the required permissions
as well.
|
int |
BIND_NOT_FOREGROUND
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : don't allow this binding to raise
the target service's process to the foreground scheduling priority.
|
int |
BIND_NOT_PERCEPTIBLE
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : If binding from an app that is visible or user-perceptible,
lower the target service's importance to below the perceptible level.
|
int |
BIND_PACKAGE_ISOLATED_PROCESS
Flag for bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) : Bind the service into a shared isolated process,
but only with other isolated services from the same package that declare the same process
name.
|
int |
BIND_SHARED_ISOLATED_PROCESS
Flag for bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) : Bind the service into a shared isolated process.
|
int |
BIND_WAIVE_PRIORITY
Flag for bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : don't impact the scheduling or
memory management priority of the target service's hosting process.
|
String |
BIOMETRIC_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
BiometricManager for handling
biometric and PIN/pattern/password authentication.
|
String |
BLOB_STORE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a BlobStoreManager for contributing and accessing data blobs
from the blob store maintained by the system.
|
String |
BLUETOOTH_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
BluetoothManager for using Bluetooth.
|
String |
BUGREPORT_SERVICE
Service to capture a bugreport.
|
String |
CAMERA_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CameraManager for interacting with
camera devices.
|
String |
CAPTIONING_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CaptioningManager for obtaining
captioning properties and listening for changes in captioning
preferences.
|
String |
CARRIER_CONFIG_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CarrierConfigManager for reading carrier configuration values.
|
String |
CLIPBOARD_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
ClipboardManager for accessing and modifying
the contents of the global clipboard.
|
String |
COMPANION_DEVICE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CompanionDeviceManager for managing companion devices
|
String |
CONNECTIVITY_DIAGNOSTICS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a ConnectivityDiagnosticsManager for performing network connectivity diagnostics
as well as receiving network connectivity information from the system.
|
String |
CONNECTIVITY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a ConnectivityManager for handling management of
network connections.
|
String |
CONSUMER_IR_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
ConsumerIrManager for transmitting infrared
signals from the device.
|
String |
CONTACT_KEYS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
E2eeContactKeysManager to managing contact keys.
|
int |
CONTEXT_IGNORE_SECURITY
Flag for use with createPackageContext(String, int) : ignore any security
restrictions on the Context being requested, allowing it to always
be loaded.
|
int |
CONTEXT_INCLUDE_CODE
Flag for use with createPackageContext(String, int) : include the application
code with the context.
|
int |
CONTEXT_RESTRICTED
Flag for use with createPackageContext(String, int) : a restricted context may
disable specific features.
|
String |
CREDENTIAL_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CredentialManager to authenticate a user to your app.
|
String |
CROSS_PROFILE_APPS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
CrossProfileApps for cross profile operations.
|
int |
DEVICE_ID_DEFAULT
The default device ID, which is the ID of the primary (non-virtual) device.
|
int |
DEVICE_ID_INVALID
Invalid device ID.
|
String |
DEVICE_LOCK_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
DeviceLockManager .
|
String |
DEVICE_POLICY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
DevicePolicyManager for working with global
device policy management.
|
String |
DISPLAY_HASH_SERVICE
Use with getSystemService(java.lang.String) to access
DisplayHashManager to handle display hashes.
|
String |
DISPLAY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
DisplayManager for interacting with display devices.
|
String |
DOMAIN_VERIFICATION_SERVICE
Use with getSystemService(java.lang.String) to access
DomainVerificationManager to retrieve approval and
user state for declared web domains.
|
String |
DOWNLOAD_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
DownloadManager for requesting HTTP downloads.
|
String |
DROPBOX_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
DropBoxManager instance for recording
diagnostic logs.
|
String |
EUICC_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
EuiccManager to manage the device eUICC (embedded SIM).
|
String |
FILE_INTEGRITY_SERVICE
Use with getSystemService(java.lang.String) to retrieve an
FileIntegrityManager .
|
String |
FINGERPRINT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
FingerprintManager for handling management
of fingerprints.
|
String |
GAME_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
GameManager .
|
String |
GRAMMATICAL_INFLECTION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
GrammaticalInflectionManager .
|
String |
HARDWARE_PROPERTIES_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
HardwarePropertiesManager for accessing the hardware properties service.
|
String |
HEALTHCONNECT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
HealthConnectManager .
|
String |
INPUT_METHOD_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
InputMethodManager for accessing input
methods.
|
String |
INPUT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
InputManager for interacting with input devices.
|
String |
IPSEC_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
IpSecManager for encrypting Sockets or Networks with
IPSec.
|
String |
JOB_SCHEDULER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a JobScheduler instance for managing occasional
background tasks.
|
String |
KEYGUARD_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
KeyguardManager for controlling keyguard.
|
String |
LAUNCHER_APPS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
LauncherApps for querying and monitoring launchable apps across
profiles of a user.
|
String |
LAYOUT_INFLATER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
LayoutInflater for inflating layout resources in this
context.
|
String |
LOCALE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
LocaleManager .
|
String |
LOCATION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a LocationManager for controlling location
updates.
|
String |
MEDIA_COMMUNICATION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
MediaCommunicationManager
for managing MediaSession2 .
|
String |
MEDIA_METRICS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
MediaMetricsManager for interacting with media metrics
on the device.
|
String |
MEDIA_PROJECTION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a MediaProjectionManager instance for managing
media projection sessions.
|
String |
MEDIA_ROUTER_SERVICE
Use with getSystemService(Class) to retrieve a
MediaRouter for controlling and managing
routing of media.
|
String |
MEDIA_SESSION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
MediaSessionManager for managing media Sessions.
|
String |
MIDI_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
MidiManager for accessing the MIDI service.
|
int |
MODE_APPEND
File creation mode: for use with openFileOutput(String, int) , if the file
already exists then write data to the end of the existing file
instead of erasing it.
|
int |
MODE_ENABLE_WRITE_AHEAD_LOGGING
Database open flag: when set, the database is opened with write-ahead
logging enabled by default.
|
int |
MODE_MULTI_PROCESS
This constant was deprecated
in API level 23.
MODE_MULTI_PROCESS does not work reliably in
some versions of Android, and furthermore does not provide any
mechanism for reconciling concurrent modifications across
processes. Applications should not attempt to use it. Instead,
they should use an explicit cross-process data management
approach such as ContentProvider .
|
int |
MODE_NO_LOCALIZED_COLLATORS
Database open flag: when set, the database is opened without support for
localized collators.
|
int |
MODE_PRIVATE
File creation mode: the default mode, where the created file can only
be accessed by the calling application (or all applications sharing the
same user ID).
|
int |
MODE_WORLD_READABLE
This constant was deprecated
in API level 17.
Creating world-readable files is very dangerous, and likely
to cause security holes in applications. It is strongly
discouraged; instead, applications should use more formal
mechanism for interactions such as ContentProvider ,
BroadcastReceiver , and Service .
There are no guarantees that this access mode will remain on
a file, such as when it goes through a backup and restore.
|
int |
MODE_WORLD_WRITEABLE
This constant was deprecated
in API level 17.
Creating world-writable files is very dangerous, and likely
to cause security holes in applications. It is strongly
discouraged; instead, applications should use more formal
mechanism for interactions such as ContentProvider ,
BroadcastReceiver , and Service .
There are no guarantees that this access mode will remain on
a file, such as when it goes through a backup and restore.
|
String |
NETWORK_STATS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a NetworkStatsManager for querying network usage stats.
|
String |
NFC_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
NfcManager for using NFC.
|
String |
NOTIFICATION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
NotificationManager for informing the user of
background events.
|
String |
NSD_SERVICE
Use with getSystemService(java.lang.String) to retrieve a NsdManager for handling management of network service
discovery
|
String |
OVERLAY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a OverlayManager for managing overlay packages.
|
String |
PEOPLE_SERVICE
Use with getSystemService(java.lang.String) to access a PeopleManager to interact
with your published conversations.
|
String |
PERFORMANCE_HINT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
PerformanceHintManager for accessing the performance hinting service.
|
String |
PERSISTENT_DATA_BLOCK_SERVICE
Use with getSystemService(java.lang.String) to retrieve a PersistentDataBlockManager instance
for interacting with a storage device that lives across factory resets.
|
String |
POWER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
PowerManager for controlling power management,
including "wake locks," which let you keep the device on while
you're running long tasks.
|
String |
PRINT_SERVICE
PrintManager for printing and managing
printers and print tasks.
|
String |
PROFILING_SERVICE
Use with getSystemService(java.lang.String) to retrieve an
ProfilingManager .
|
int |
RECEIVER_EXPORTED
Flag for registerReceiver(BroadcastReceiver, IntentFilter) : The receiver can receive broadcasts from other Apps.
|
int |
RECEIVER_NOT_EXPORTED
Flag for registerReceiver(BroadcastReceiver, IntentFilter) : The receiver cannot receive broadcasts from other Apps.
|
int |
RECEIVER_VISIBLE_TO_INSTANT_APPS
Flag for registerReceiver(BroadcastReceiver, IntentFilter) : The receiver can receive broadcasts from Instant Apps.
|
String |
RESTRICTIONS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
RestrictionsManager for retrieving application restrictions
and requesting permissions for restricted operations.
|
String |
ROLE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a RoleManager
for managing roles.
|
String |
SEARCH_SERVICE
Use with getSystemService(java.lang.String) to retrieve a SearchManager for handling searches.
|
String |
SECURITY_STATE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
SecurityStateManager for accessing the security state manager service.
|
String |
SENSOR_SERVICE
Use with getSystemService(java.lang.String) to retrieve a SensorManager for accessing sensors.
|
String |
SHORTCUT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
ShortcutManager for accessing the launcher shortcut service.
|
String |
STATUS_BAR_SERVICE
Use with getSystemService(java.lang.String) to retrieve a StatusBarManager for interacting with the status bar and quick settings.
|
String |
STORAGE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a StorageManager for accessing system storage
functions.
|
String |
STORAGE_STATS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a StorageStatsManager for accessing system storage
statistics.
|
String |
SYSTEM_HEALTH_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
SystemHealthManager for accessing system health (battery, power,
memory, etc) metrics.
|
String |
TELECOM_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TelecomManager to manage telecom-related features
of the device.
|
String |
TELEPHONY_IMS_SERVICE
Use with getSystemService(java.lang.String) to retrieve an
ImsManager .
|
String |
TELEPHONY_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TelephonyManager for handling management the
telephony features of the device.
|
String |
TELEPHONY_SUBSCRIPTION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
SubscriptionManager for handling management the
telephony subscriptions of the device.
|
String |
TEXT_CLASSIFICATION_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TextClassificationManager for text classification services.
|
String |
TEXT_SERVICES_MANAGER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TextServicesManager for accessing
text services.
|
String |
TV_INPUT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TvInputManager for interacting with TV inputs
on the device.
|
String |
TV_INTERACTIVE_APP_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
TvInteractiveAppManager for interacting with TV
interactive applications on the device.
|
String |
UI_MODE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
UiModeManager for controlling UI modes.
|
String |
USAGE_STATS_SERVICE
Use with getSystemService(java.lang.String) to retrieve a UsageStatsManager for querying device usage stats.
|
String |
USB_SERVICE
Use with getSystemService(java.lang.String) to retrieve a UsbManager for access to USB devices (as a USB host)
and for controlling this device's behavior as a USB device.
|
String |
USER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
UserManager for managing users on devices that support multiple users.
|
String |
VIBRATOR_MANAGER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a VibratorManager
for accessing the device vibrators, interacting with individual ones and playing synchronized
effects on multiple vibrators.
|
String |
VIBRATOR_SERVICE
This constant was deprecated
in API level 31.
Use VibratorManager to retrieve the default system vibrator.
|
String |
VIRTUAL_DEVICE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
VirtualDeviceManager for managing virtual devices.
|
String |
VPN_MANAGEMENT_SERVICE
Use with getSystemService(java.lang.String) to retrieve a VpnManager to
manage profiles for the platform built-in VPN.
|
String |
WALLPAPER_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
com.android.server.WallpaperService for accessing wallpapers.
|
String |
WIFI_AWARE_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
WifiAwareManager for handling management of
Wi-Fi Aware.
|
String |
WIFI_P2P_SERVICE
Use with getSystemService(java.lang.String) to retrieve a WifiP2pManager for handling management of
Wi-Fi peer-to-peer connections.
|
String |
WIFI_RTT_RANGING_SERVICE
Use with getSystemService(java.lang.String) to retrieve a WifiRttManager for ranging devices with wifi.
|
String |
WIFI_SERVICE
Use with getSystemService(java.lang.String) to retrieve a WifiManager for handling management of
Wi-Fi access.
|
String |
WINDOW_SERVICE
Use with getSystemService(java.lang.String) to retrieve a
WindowManager for accessing the system's window
manager.
|
|
|
Public methods |
final
void
|
cancelAllNotifications()
Inform the notification manager about dismissal of all notifications.
|
final
void
|
cancelNotification(String pkg, String tag, int id)
This method was deprecated
in API level 21.
Use cancelNotification(java.lang.String)
instead. Beginning with Build.VERSION_CODES.LOLLIPOP this method will no longer
cancel the notification. It will continue to cancel the notification for applications
whose targetSdkVersion is earlier than Build.VERSION_CODES.LOLLIPOP .
|
final
void
|
cancelNotification(String key)
Inform the notification manager about dismissal of a single notification.
|
final
void
|
cancelNotifications(String[] keys)
Inform the notification manager about dismissal of specific notifications.
|
final
void
|
clearRequestedListenerHints()
Clears listener hints set via getCurrentListenerHints() .
|
StatusBarNotification[]
|
getActiveNotifications(String[] keys)
Request one or more notifications by key.
|
StatusBarNotification[]
|
getActiveNotifications()
Request the list of outstanding notifications (that is, those that are visible to the
current user).
|
final
int
|
getCurrentInterruptionFilter()
Gets the current notification interruption filter active on the host.
|
final
int
|
getCurrentListenerHints()
Gets the set of hints representing current state.
|
NotificationListenerService.RankingMap
|
getCurrentRanking()
Returns current ranking information.
|
final
List<NotificationChannelGroup>
|
getNotificationChannelGroups(String pkg, UserHandle user)
Returns all notification channel groups belonging to the given package for a given user.
|
final
List<NotificationChannel>
|
getNotificationChannels(String pkg, UserHandle user)
Returns all notification channels belonging to the given package for a given user.
|
final
StatusBarNotification[]
|
getSnoozedNotifications()
Like getActiveNotifications() , but returns the list of currently snoozed
notifications, for all users this listener has access to.
|
final
void
|
migrateNotificationFilter(int defaultTypes, List<String> disallowedPkgs)
Lets an app migrate notification filters from its app into the OS.
|
IBinder
|
onBind(Intent intent)
This is not the lifecycle event you are looking for.
|
void
|
onDestroy()
Called by the system to notify a Service that it is no longer used and is being removed.
|
void
|
onInterruptionFilterChanged(int interruptionFilter)
Implement this method to be notified when the
interruption filter changed.
|
void
|
onListenerConnected()
Implement this method to learn about when the listener is enabled and connected to
the notification manager.
|
void
|
onListenerDisconnected()
Implement this method to learn about when the listener is disconnected from the
notification manager.You will not receive any events after this call, and may only
call requestRebind(android.content.ComponentName) at this time.
|
void
|
onListenerHintsChanged(int hints)
Implement this method to be notified when the
Listener hints change.
|
void
|
onNotificationChannelGroupModified(String pkg, UserHandle user, NotificationChannelGroup group, int modificationType)
Implement this method to learn about notification channel group modifications.
|
void
|
onNotificationChannelModified(String pkg, UserHandle user, NotificationChannel channel, int modificationType)
Implement this method to learn about notification channel modifications.
|
void
|
onNotificationPosted(StatusBarNotification sbn, NotificationListenerService.RankingMap rankingMap)
Implement this method to learn about new notifications as they are posted by apps.
|
void
|
onNotificationPosted(StatusBarNotification sbn)
Implement this method to learn about new notifications as they are posted by apps.
|
void
|
onNotificationRankingUpdate(NotificationListenerService.RankingMap rankingMap)
Implement this method to be notified when the notification ranking changes.
|
void
|
onNotificationRemoved(StatusBarNotification sbn)
Implement this method to learn when notifications are removed.
|
void
|
onNotificationRemoved(StatusBarNotification sbn, NotificationListenerService.RankingMap rankingMap)
Implement this method to learn when notifications are removed.
|
void
|
onNotificationRemoved(StatusBarNotification sbn, NotificationListenerService.RankingMap rankingMap, int reason)
Implement this method to learn when notifications are removed and why.
|
void
|
onSilentStatusBarIconsVisibilityChanged(boolean hideSilentStatusIcons)
Implement this method to be notified when the behavior of silent notifications in the status
bar changes.
|
final
void
|
requestInterruptionFilter(int interruptionFilter)
Sets the desired interruption filter .
|
final
void
|
requestListenerHints(int hints)
Sets the desired listener hints .
|
static
void
|
requestRebind(ComponentName componentName)
Request that the listener be rebound, after a previous call to requestUnbind() .
|
static
void
|
requestUnbind(ComponentName componentName)
Request that the service be unbound.
|
final
void
|
requestUnbind()
Request that the service be unbound.
|
final
void
|
setNotificationsShown(String[] keys)
Inform the notification manager that these notifications have been viewed by the
user.
|
final
void
|
snoozeNotification(String key, long durationMs)
Inform the notification manager about snoozing a specific notification.
|
final
void
|
updateNotificationChannel(String pkg, UserHandle user, NotificationChannel channel)
Updates a notification channel for a given package for a given user.
|
Inherited methods |
From class
android.app.Service
void
|
attachBaseContext(Context newBase)
Set the base context for this ContextWrapper.
|
void
|
dump(FileDescriptor fd, PrintWriter writer, String[] args)
Print the Service's state into the given stream.
|
final
Application
|
getApplication()
Return the application that owns this service.
|
final
int
|
getForegroundServiceType()
If the service has become a foreground service by calling
startForeground(int, android.app.Notification)
or startForeground(int, android.app.Notification, int) , getForegroundServiceType()
returns the current foreground service type.
|
abstract
IBinder
|
onBind(Intent intent)
Return the communication channel to the service.
|
void
|
onConfigurationChanged(Configuration newConfig)
Called by the system when the device configuration changes while your
component is running.
|
void
|
onCreate()
Called by the system when the service is first created.
|
void
|
onDestroy()
Called by the system to notify a Service that it is no longer used and is being removed.
|
void
|
onLowMemory()
This is called when the overall system is running low on memory, and
actively running processes should trim their memory usage.
|
void
|
onRebind(Intent intent)
Called when new clients have connected to the service, after it had
previously been notified that all had disconnected in its
onUnbind(Intent) .
|
void
|
onStart(Intent intent, int startId)
This method was deprecated
in API level 15.
Implement onStartCommand(android.content.Intent, int, int) instead.
|
int
|
onStartCommand(Intent intent, int flags, int startId)
Called by the system every time a client explicitly starts the service by calling
Context.startService(Intent) , providing the arguments it supplied and a
unique integer token representing the start request.
|
void
|
onTaskRemoved(Intent rootIntent)
This is called if the service is currently running and the user has
removed a task that comes from the service's application.
|
void
|
onTimeout(int startId, int fgsType)
Callback called when a particular foreground service type has timed out.
|
void
|
onTimeout(int startId)
Callback called on timeout for ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE .
|
void
|
onTrimMemory(int level)
Called when the operating system has determined that it is a good
time for a process to trim unneeded memory from its process.
|
boolean
|
onUnbind(Intent intent)
Called when all clients have disconnected from a particular interface
published by the service.
|
final
void
|
startForeground(int id, Notification notification)
If your service is started (running through Context#startService(Intent) ), then
also make this service run in the foreground, supplying the ongoing
notification to be shown to the user while in this state.
|
final
void
|
startForeground(int id, Notification notification, int foregroundServiceType)
An overloaded version of startForeground(int, android.app.Notification) with additional
foregroundServiceType parameter.
|
final
void
|
stopForeground(int notificationBehavior)
Remove this service from foreground state, allowing it to be killed if
more memory is needed.
|
final
void
|
stopForeground(boolean removeNotification)
This method was deprecated
in API level 33.
call stopForeground(int) and pass either
STOP_FOREGROUND_REMOVE or STOP_FOREGROUND_DETACH
explicitly instead.
|
final
void
|
stopSelf()
Stop the service, if it was previously started.
|
final
void
|
stopSelf(int startId)
Old version of stopSelfResult(int) that doesn't return a result.
|
final
boolean
|
stopSelfResult(int startId)
Stop the service if the most recent time it was started was
startId.
|
|
From class
android.content.ContextWrapper
void
|
attachBaseContext(Context base)
Set the base context for this ContextWrapper.
|
boolean
|
bindIsolatedService(Intent service, int flags, String instanceName, Executor executor, ServiceConnection conn)
Variation of bindService(Intent, BindServiceFlags, Executor, ServiceConnection) that, in the specific case of isolated
services, allows the caller to generate multiple instances of a service
from a single component declaration.
|
boolean
|
bindService(Intent service, int flags, Executor executor, ServiceConnection conn)
Same as bindService(Intent, ServiceConnection, int) with executor to control ServiceConnection
callbacks.
|
boolean
|
bindService(Intent service, ServiceConnection conn, Context.BindServiceFlags flags)
See bindService(android.content.Intent, android.content.ServiceConnection, int)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
boolean
|
bindService(Intent service, ServiceConnection conn, int flags)
Connects to an application service, creating it if needed.
|
boolean
|
bindService(Intent service, Context.BindServiceFlags flags, Executor executor, ServiceConnection conn)
See bindService(android.content.Intent, int, java.util.concurrent.Executor, android.content.ServiceConnection)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
int
|
checkCallingOrSelfPermission(String permission)
Determine whether the calling process of an IPC or you have been
granted a particular permission.
|
int
|
checkCallingOrSelfUriPermission(Uri uri, int modeFlags)
Determine whether the calling process of an IPC or you has been granted
permission to access a specific URI.
|
int[]
|
checkCallingOrSelfUriPermissions(List<Uri> uris, int modeFlags)
Determine whether the calling process of an IPC or you has been granted
permission to access a list of URIs.
|
int
|
checkCallingPermission(String permission)
Determine whether the calling process of an IPC you are handling has been
granted a particular permission.
|
int
|
checkCallingUriPermission(Uri uri, int modeFlags)
Determine whether the calling process and uid has been
granted permission to access a specific URI.
|
int[]
|
checkCallingUriPermissions(List<Uri> uris, int modeFlags)
Determine whether the calling process and uid has been
granted permission to access a list of URIs.
|
int
|
checkContentUriPermissionFull(Uri uri, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a specific content URI.
|
int
|
checkPermission(String permission, int pid, int uid)
Determine whether the given permission is allowed for a particular
process and user ID running in the system.
|
int
|
checkSelfPermission(String permission)
Determine whether you have been granted a particular permission.
|
int
|
checkUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags)
Check both a Uri and normal permission.
|
int
|
checkUriPermission(Uri uri, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a specific URI.
|
int[]
|
checkUriPermissions(List<Uri> uris, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a list of URIs.
|
void
|
clearWallpaper()
This method is deprecated.
Use WallpaperManager.clear() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
Context
|
createAttributionContext(String attributionTag)
Return a new Context object for the current Context but attribute to a different tag.
|
Context
|
createConfigurationContext(Configuration overrideConfiguration)
Return a new Context object for the current Context but whose resources
are adjusted to match the given Configuration.
|
Context
|
createContext(ContextParams contextParams)
Creates a context with specific properties and behaviors.
|
Context
|
createDeviceContext(int deviceId)
Returns a new Context object from the current context but with device association
given by the deviceId .
|
Context
|
createDeviceProtectedStorageContext()
Return a new Context object for the current Context but whose storage
APIs are backed by device-protected storage.
|
Context
|
createDisplayContext(Display display)
Returns a new Context object from the current context but with resources
adjusted to match the metrics of display .
|
Context
|
createPackageContext(String packageName, int flags)
Return a new Context object for the given application name.
|
Context
|
createWindowContext(int type, Bundle options)
Creates a Context for a non-activity window.
|
Context
|
createWindowContext(Display display, int type, Bundle options)
Creates a Context for a non-activity window on the given
Display .
|
String[]
|
databaseList()
Returns an array of strings naming the private databases associated with
this Context's application package.
|
boolean
|
deleteDatabase(String name)
Delete an existing private SQLiteDatabase associated with this Context's
application package.
|
boolean
|
deleteFile(String name)
Delete the given private file associated with this Context's
application package.
|
boolean
|
deleteSharedPreferences(String name)
Delete an existing shared preferences file.
|
void
|
enforceCallingOrSelfPermission(String permission, String message)
If neither you nor the calling process of an IPC you are
handling has been granted a particular permission, throw a
SecurityException .
|
void
|
enforceCallingOrSelfUriPermission(Uri uri, int modeFlags, String message)
If the calling process of an IPC or you has not been
granted permission to access a specific URI, throw SecurityException .
|
void
|
enforceCallingPermission(String permission, String message)
If the calling process of an IPC you are handling has not been
granted a particular permission, throw a SecurityException .
|
void
|
enforceCallingUriPermission(Uri uri, int modeFlags, String message)
If the calling process and uid has not been granted
permission to access a specific URI, throw SecurityException .
|
void
|
enforcePermission(String permission, int pid, int uid, String message)
If the given permission is not allowed for a particular process
and user ID running in the system, throw a SecurityException .
|
void
|
enforceUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags, String message)
Enforce both a Uri and normal permission.
|
void
|
enforceUriPermission(Uri uri, int pid, int uid, int modeFlags, String message)
If a particular process and uid has not been granted
permission to access a specific URI, throw SecurityException .
|
String[]
|
fileList()
Returns an array of strings naming the private files associated with
this Context's application package.
|
Context
|
getApplicationContext()
Return the context of the single, global Application object of the
current process.
|
ApplicationInfo
|
getApplicationInfo()
Return the full application info for this context's package.
|
AssetManager
|
getAssets()
Returns an AssetManager instance for the application's package.
|
AttributionSource
|
getAttributionSource()
|
Context
|
getBaseContext()
|
File
|
getCacheDir()
Returns the absolute path to the application specific cache directory on
the filesystem.
|
ClassLoader
|
getClassLoader()
Return a class loader you can use to retrieve classes in this package.
|
File
|
getCodeCacheDir()
Returns the absolute path to the application specific cache directory on
the filesystem designed for storing cached code.
|
ContentResolver
|
getContentResolver()
Return a ContentResolver instance for your application's package.
|
File
|
getDataDir()
Returns the absolute path to the directory on the filesystem where all
private files belonging to this app are stored.
|
File
|
getDatabasePath(String name)
Returns the absolute path on the filesystem where a database created with
openOrCreateDatabase(String, int, CursorFactory) is stored.
|
int
|
getDeviceId()
Gets the device ID this context is associated with.
|
File
|
getDir(String name, int mode)
Retrieve, creating if needed, a new directory in which the application
can place its own custom data files.
|
Display
|
getDisplay()
Get the display this context is associated with.
|
File
|
getExternalCacheDir()
Returns absolute path to application-specific directory on the primary
shared/external storage device where the application can place cache
files it owns.
|
File[]
|
getExternalCacheDirs()
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application can place cache
files it owns.
|
File
|
getExternalFilesDir(String type)
Returns the absolute path to the directory on the primary shared/external
storage device where the application can place persistent files it owns.
|
File[]
|
getExternalFilesDirs(String type)
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application can place
persistent files it owns.
|
File[]
|
getExternalMediaDirs()
This method is deprecated.
These directories still exist and are scanned, but developers
are encouraged to migrate to inserting content into a
MediaStore collection directly, as any app can
contribute new media to MediaStore with no
permissions required, starting in
Build.VERSION_CODES.Q .
|
File
|
getFileStreamPath(String name)
Returns the absolute path on the filesystem where a file created with
openFileOutput(String, int) is stored.
|
File
|
getFilesDir()
Returns the absolute path to the directory on the filesystem where files
created with openFileOutput(String, int) are stored.
|
Executor
|
getMainExecutor()
Return an Executor that will run enqueued tasks on the main
thread associated with this context.
|
Looper
|
getMainLooper()
Return the Looper for the main thread of the current process.
|
File
|
getNoBackupFilesDir()
Returns the absolute path to the directory on the filesystem similar to
getFilesDir() .
|
File
|
getObbDir()
Return the primary shared/external storage directory where this
application's OBB files (if there are any) can be found.
|
File[]
|
getObbDirs()
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application's OBB files (if
there are any) can be found.
|
String
|
getPackageCodePath()
Return the full path to this context's primary Android package.
|
PackageManager
|
getPackageManager()
Return PackageManager instance to find global package information.
|
String
|
getPackageName()
Return the name of this application's package.
|
String
|
getPackageResourcePath()
Return the full path to this context's primary Android package.
|
ContextParams
|
getParams()
Return the set of parameters which this Context was created with, if it
was created via createContext(android.content.ContextParams) .
|
Resources
|
getResources()
Returns a Resources instance for the application's package.
|
SharedPreferences
|
getSharedPreferences(String name, int mode)
Retrieve and hold the contents of the preferences file 'name', returning
a SharedPreferences through which you can retrieve and modify its
values.
|
Object
|
getSystemService(String name)
Return the handle to a system-level service by name.
|
String
|
getSystemServiceName(Class<?> serviceClass)
Gets the name of the system-level service that is represented by the specified class.
|
Resources.Theme
|
getTheme()
Return the Theme object associated with this Context.
|
Drawable
|
getWallpaper()
This method is deprecated.
Use WallpaperManager.get() instead.
|
int
|
getWallpaperDesiredMinimumHeight()
This method is deprecated.
Use WallpaperManager.getDesiredMinimumHeight() instead.
|
int
|
getWallpaperDesiredMinimumWidth()
This method is deprecated.
Use WallpaperManager.getDesiredMinimumWidth() instead.
|
void
|
grantUriPermission(String toPackage, Uri uri, int modeFlags)
Grant permission to access a specific Uri to another package, regardless
of whether that package has general permission to access the Uri's
content provider.
|
boolean
|
isDeviceProtectedStorage()
Indicates if the storage APIs of this Context are backed by
device-protected storage.
|
boolean
|
isRestricted()
Indicates whether this Context is restricted.
|
boolean
|
moveDatabaseFrom(Context sourceContext, String name)
Move an existing database file from the given source storage context to
this context.
|
boolean
|
moveSharedPreferencesFrom(Context sourceContext, String name)
Move an existing shared preferences file from the given source storage
context to this context.
|
FileInputStream
|
openFileInput(String name)
Open a private file associated with this Context's application package
for reading.
|
FileOutputStream
|
openFileOutput(String name, int mode)
Open a private file associated with this Context's application package
for writing.
|
SQLiteDatabase
|
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler)
Open a new private SQLiteDatabase associated with this Context's
application package.
|
SQLiteDatabase
|
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory)
Open a new private SQLiteDatabase associated with this Context's
application package.
|
Drawable
|
peekWallpaper()
This method is deprecated.
Use WallpaperManager.peek() instead.
|
void
|
registerComponentCallbacks(ComponentCallbacks callback)
Add a new ComponentCallbacks to the base application of the
Context, which will be called at the same times as the ComponentCallbacks
methods of activities and other components are called.
|
void
|
registerDeviceIdChangeListener(Executor executor, IntConsumer listener)
Adds a new device ID changed listener to the Context , which will be called when
the device association is changed by the system.
|
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter)
Register a BroadcastReceiver to be run in the main activity thread.
|
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, int flags)
Register to receive intent broadcasts, with the receiver optionally being
exposed to Instant Apps.
|
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler, int flags)
Register to receive intent broadcasts, to run in the context of
scheduler.
|
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)
Register to receive intent broadcasts, to run in the context of
scheduler.
|
void
|
removeStickyBroadcast(Intent intent)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
removeStickyBroadcastAsUser(Intent intent, UserHandle user)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
revokeSelfPermissionsOnKill(Collection<String> permissions)
Triggers the revocation of one or more permissions for the calling package.
|
void
|
revokeUriPermission(Uri uri, int modeFlags)
Remove all permissions to access a particular content provider Uri
that were previously added with grantUriPermission(String, Uri, int) or any other mechanism.
|
void
|
revokeUriPermission(String targetPackage, Uri uri, int modeFlags)
Remove permissions to access a particular content provider Uri
that were previously added with grantUriPermission(String, Uri, int) for a specific target
package.
|
void
|
sendBroadcast(Intent intent, String receiverPermission, Bundle options)
Broadcast the given intent to all interested BroadcastReceivers, allowing
an optional required permission to be enforced.
|
void
|
sendBroadcast(Intent intent, String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, allowing
an optional required permission to be enforced.
|
void
|
sendBroadcast(Intent intent)
Broadcast the given intent to all interested BroadcastReceivers.
|
void
|
sendBroadcastAsUser(Intent intent, UserHandle user)
Version of sendBroadcast(android.content.Intent) that allows you to specify the
user the broadcast will be sent to.
|
void
|
sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission)
Version of sendBroadcast(android.content.Intent, java.lang.String) that allows you to specify the
user the broadcast will be sent to.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of
sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle) that allows you to specify the App Op to enforce restrictions on which receivers
the broadcast will be sent to.
|
void
|
sendOrderedBroadcast(Intent intent, int initialCode, String receiverPermission, String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, String initialData, Bundle initialExtras, Bundle options)
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of sendBroadcast(android.content.Intent) that allows you to
receive data back from the broadcast.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, Bundle options)
Broadcast the given intent to all interested BroadcastReceivers, delivering
them one at a time to allow more preferred receivers to consume the
broadcast before it is delivered to less preferred receivers.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of sendBroadcast(android.content.Intent) that allows you to
receive data back from the broadcast.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, delivering
them one at a time to allow more preferred receivers to consume the
broadcast before it is delivered to less preferred receivers.
|
void
|
sendOrderedBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of
sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle)
that allows you to specify the
user the broadcast will be sent to.
|
void
|
sendStickyBroadcast(Intent intent)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
sendStickyBroadcast(Intent intent, Bundle options)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
sendStickyBroadcastAsUser(Intent intent, UserHandle user)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
sendStickyOrderedBroadcast(Intent intent, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
sendStickyOrderedBroadcastAsUser(Intent intent, UserHandle user, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
This method is deprecated.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
setTheme(int resid)
Set the base theme for this context.
|
void
|
setWallpaper(Bitmap bitmap)
This method is deprecated.
Use WallpaperManager.set() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
void
|
setWallpaper(InputStream data)
This method is deprecated.
Use WallpaperManager.set() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
void
|
startActivities(Intent[] intents, Bundle options)
Launch multiple new activities.
|
void
|
startActivities(Intent[] intents)
Same as startActivities(android.content.Intent[], android.os.Bundle) with no options
specified.
|
void
|
startActivity(Intent intent)
Same as startActivity(android.content.Intent, android.os.Bundle) with no options
specified.
|
void
|
startActivity(Intent intent, Bundle options)
Launch a new activity.
|
ComponentName
|
startForegroundService(Intent service)
Similar to startService(android.content.Intent) , but with an implicit promise that the
Service will call startForeground(int, android.app.Notification) once it begins running.
|
boolean
|
startInstrumentation(ComponentName className, String profileFile, Bundle arguments)
Start executing an Instrumentation class.
|
void
|
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
Same as startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle)
with no options specified.
|
void
|
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
Like startActivity(android.content.Intent, android.os.Bundle) , but taking a IntentSender
to start.
|
ComponentName
|
startService(Intent service)
Request that a given application service be started.
|
boolean
|
stopService(Intent name)
Request that a given application service be stopped.
|
void
|
unbindService(ServiceConnection conn)
Disconnect from an application service.
|
void
|
unregisterComponentCallbacks(ComponentCallbacks callback)
Remove a ComponentCallbacks object that was previously registered
with registerComponentCallbacks(android.content.ComponentCallbacks) .
|
void
|
unregisterDeviceIdChangeListener(IntConsumer listener)
Removes a device ID changed listener from the Context.
|
void
|
unregisterReceiver(BroadcastReceiver receiver)
Unregister a previously registered BroadcastReceiver.
|
void
|
updateServiceGroup(ServiceConnection conn, int group, int importance)
For a service previously bound with bindService(Intent, BindServiceFlags, Executor, ServiceConnection) or a related method, change
how the system manages that service's process in relation to other processes.
|
|
From class
android.content.Context
boolean
|
bindIsolatedService(Intent service, int flags, String instanceName, Executor executor, ServiceConnection conn)
Variation of bindService(Intent, BindServiceFlags, Executor, ServiceConnection) that, in the specific case of isolated
services, allows the caller to generate multiple instances of a service
from a single component declaration.
|
boolean
|
bindIsolatedService(Intent service, Context.BindServiceFlags flags, String instanceName, Executor executor, ServiceConnection conn)
See bindIsolatedService(android.content.Intent, int, java.lang.String, java.util.concurrent.Executor, android.content.ServiceConnection)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
boolean
|
bindService(Intent service, int flags, Executor executor, ServiceConnection conn)
Same as bindService(Intent, ServiceConnection, int) with executor to control ServiceConnection
callbacks.
|
boolean
|
bindService(Intent service, ServiceConnection conn, Context.BindServiceFlags flags)
See bindService(android.content.Intent, android.content.ServiceConnection, int)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
abstract
boolean
|
bindService(Intent service, ServiceConnection conn, int flags)
Connects to an application service, creating it if needed.
|
boolean
|
bindService(Intent service, Context.BindServiceFlags flags, Executor executor, ServiceConnection conn)
See bindService(android.content.Intent, int, java.util.concurrent.Executor, android.content.ServiceConnection)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
boolean
|
bindServiceAsUser(Intent service, ServiceConnection conn, int flags, UserHandle user)
Binds to a service in the given user in the same manner as bindService(Intent, BindServiceFlags, Executor, ServiceConnection) .
|
boolean
|
bindServiceAsUser(Intent service, ServiceConnection conn, Context.BindServiceFlags flags, UserHandle user)
See bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.UserHandle)
Call BindServiceFlags#of(long) to obtain a BindServiceFlags object.
|
abstract
int
|
checkCallingOrSelfPermission(String permission)
Determine whether the calling process of an IPC or you have been
granted a particular permission.
|
abstract
int
|
checkCallingOrSelfUriPermission(Uri uri, int modeFlags)
Determine whether the calling process of an IPC or you has been granted
permission to access a specific URI.
|
int[]
|
checkCallingOrSelfUriPermissions(List<Uri> uris, int modeFlags)
Determine whether the calling process of an IPC or you has been granted
permission to access a list of URIs.
|
abstract
int
|
checkCallingPermission(String permission)
Determine whether the calling process of an IPC you are handling has been
granted a particular permission.
|
abstract
int
|
checkCallingUriPermission(Uri uri, int modeFlags)
Determine whether the calling process and uid has been
granted permission to access a specific URI.
|
int[]
|
checkCallingUriPermissions(List<Uri> uris, int modeFlags)
Determine whether the calling process and uid has been
granted permission to access a list of URIs.
|
int
|
checkContentUriPermissionFull(Uri uri, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a specific content URI.
|
abstract
int
|
checkPermission(String permission, int pid, int uid)
Determine whether the given permission is allowed for a particular
process and user ID running in the system.
|
abstract
int
|
checkSelfPermission(String permission)
Determine whether you have been granted a particular permission.
|
abstract
int
|
checkUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags)
Check both a Uri and normal permission.
|
abstract
int
|
checkUriPermission(Uri uri, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a specific URI.
|
int[]
|
checkUriPermissions(List<Uri> uris, int pid, int uid, int modeFlags)
Determine whether a particular process and uid has been granted
permission to access a list of URIs.
|
abstract
void
|
clearWallpaper()
This method was deprecated
in API level 15.
Use WallpaperManager.clear() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
Context
|
createAttributionContext(String attributionTag)
Return a new Context object for the current Context but attribute to a different tag.
|
abstract
Context
|
createConfigurationContext(Configuration overrideConfiguration)
Return a new Context object for the current Context but whose resources
are adjusted to match the given Configuration.
|
Context
|
createContext(ContextParams contextParams)
Creates a context with specific properties and behaviors.
|
abstract
Context
|
createContextForSplit(String splitName)
Return a new Context object for the given split name.
|
Context
|
createDeviceContext(int deviceId)
Returns a new Context object from the current context but with device association
given by the deviceId .
|
abstract
Context
|
createDeviceProtectedStorageContext()
Return a new Context object for the current Context but whose storage
APIs are backed by device-protected storage.
|
abstract
Context
|
createDisplayContext(Display display)
Returns a new Context object from the current context but with resources
adjusted to match the metrics of display .
|
abstract
Context
|
createPackageContext(String packageName, int flags)
Return a new Context object for the given application name.
|
Context
|
createWindowContext(int type, Bundle options)
Creates a Context for a non-activity window.
|
Context
|
createWindowContext(Display display, int type, Bundle options)
Creates a Context for a non-activity window on the given
Display .
|
abstract
String[]
|
databaseList()
Returns an array of strings naming the private databases associated with
this Context's application package.
|
abstract
boolean
|
deleteDatabase(String name)
Delete an existing private SQLiteDatabase associated with this Context's
application package.
|
abstract
boolean
|
deleteFile(String name)
Delete the given private file associated with this Context's
application package.
|
abstract
boolean
|
deleteSharedPreferences(String name)
Delete an existing shared preferences file.
|
abstract
void
|
enforceCallingOrSelfPermission(String permission, String message)
If neither you nor the calling process of an IPC you are
handling has been granted a particular permission, throw a
SecurityException .
|
abstract
void
|
enforceCallingOrSelfUriPermission(Uri uri, int modeFlags, String message)
If the calling process of an IPC or you has not been
granted permission to access a specific URI, throw SecurityException .
|
abstract
void
|
enforceCallingPermission(String permission, String message)
If the calling process of an IPC you are handling has not been
granted a particular permission, throw a SecurityException .
|
abstract
void
|
enforceCallingUriPermission(Uri uri, int modeFlags, String message)
If the calling process and uid has not been granted
permission to access a specific URI, throw SecurityException .
|
abstract
void
|
enforcePermission(String permission, int pid, int uid, String message)
If the given permission is not allowed for a particular process
and user ID running in the system, throw a SecurityException .
|
abstract
void
|
enforceUriPermission(Uri uri, String readPermission, String writePermission, int pid, int uid, int modeFlags, String message)
Enforce both a Uri and normal permission.
|
abstract
void
|
enforceUriPermission(Uri uri, int pid, int uid, int modeFlags, String message)
If a particular process and uid has not been granted
permission to access a specific URI, throw SecurityException .
|
abstract
String[]
|
fileList()
Returns an array of strings naming the private files associated with
this Context's application package.
|
abstract
Context
|
getApplicationContext()
Return the context of the single, global Application object of the
current process.
|
abstract
ApplicationInfo
|
getApplicationInfo()
Return the full application info for this context's package.
|
abstract
AssetManager
|
getAssets()
Returns an AssetManager instance for the application's package.
|
AttributionSource
|
getAttributionSource()
|
String
|
getAttributionTag()
Attribution can be used in complex apps to logically separate parts of the app.
|
abstract
File
|
getCacheDir()
Returns the absolute path to the application specific cache directory on
the filesystem.
|
abstract
ClassLoader
|
getClassLoader()
Return a class loader you can use to retrieve classes in this package.
|
abstract
File
|
getCodeCacheDir()
Returns the absolute path to the application specific cache directory on
the filesystem designed for storing cached code.
|
final
int
|
getColor(int id)
Returns a color associated with a particular resource ID and styled for
the current theme.
|
final
ColorStateList
|
getColorStateList(int id)
Returns a color state list associated with a particular resource ID and
styled for the current theme.
|
abstract
ContentResolver
|
getContentResolver()
Return a ContentResolver instance for your application's package.
|
abstract
File
|
getDataDir()
Returns the absolute path to the directory on the filesystem where all
private files belonging to this app are stored.
|
abstract
File
|
getDatabasePath(String name)
Returns the absolute path on the filesystem where a database created with
openOrCreateDatabase(String, int, CursorFactory) is stored.
|
int
|
getDeviceId()
Gets the device ID this context is associated with.
|
abstract
File
|
getDir(String name, int mode)
Retrieve, creating if needed, a new directory in which the application
can place its own custom data files.
|
Display
|
getDisplay()
Get the display this context is associated with.
|
final
Drawable
|
getDrawable(int id)
Returns a drawable object associated with a particular resource ID and
styled for the current theme.
|
abstract
File
|
getExternalCacheDir()
Returns absolute path to application-specific directory on the primary
shared/external storage device where the application can place cache
files it owns.
|
abstract
File[]
|
getExternalCacheDirs()
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application can place cache
files it owns.
|
abstract
File
|
getExternalFilesDir(String type)
Returns the absolute path to the directory on the primary shared/external
storage device where the application can place persistent files it owns.
|
abstract
File[]
|
getExternalFilesDirs(String type)
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application can place
persistent files it owns.
|
abstract
File[]
|
getExternalMediaDirs()
This method was deprecated
in API level 30.
These directories still exist and are scanned, but developers
are encouraged to migrate to inserting content into a
MediaStore collection directly, as any app can
contribute new media to MediaStore with no
permissions required, starting in
Build.VERSION_CODES.Q .
|
abstract
File
|
getFileStreamPath(String name)
Returns the absolute path on the filesystem where a file created with
openFileOutput(String, int) is stored.
|
abstract
File
|
getFilesDir()
Returns the absolute path to the directory on the filesystem where files
created with openFileOutput(String, int) are stored.
|
Executor
|
getMainExecutor()
Return an Executor that will run enqueued tasks on the main
thread associated with this context.
|
abstract
Looper
|
getMainLooper()
Return the Looper for the main thread of the current process.
|
abstract
File
|
getNoBackupFilesDir()
Returns the absolute path to the directory on the filesystem similar to
getFilesDir() .
|
abstract
File
|
getObbDir()
Return the primary shared/external storage directory where this
application's OBB files (if there are any) can be found.
|
abstract
File[]
|
getObbDirs()
Returns absolute paths to application-specific directories on all
shared/external storage devices where the application's OBB files (if
there are any) can be found.
|
String
|
getOpPackageName()
Return the package name that should be used for AppOpsManager calls from
this context, so that app ops manager's uid verification will work with the name.
|
abstract
String
|
getPackageCodePath()
Return the full path to this context's primary Android package.
|
abstract
PackageManager
|
getPackageManager()
Return PackageManager instance to find global package information.
|
abstract
String
|
getPackageName()
Return the name of this application's package.
|
abstract
String
|
getPackageResourcePath()
Return the full path to this context's primary Android package.
|
ContextParams
|
getParams()
Return the set of parameters which this Context was created with, if it
was created via createContext(android.content.ContextParams) .
|
abstract
Resources
|
getResources()
Returns a Resources instance for the application's package.
|
abstract
SharedPreferences
|
getSharedPreferences(String name, int mode)
Retrieve and hold the contents of the preferences file 'name', returning
a SharedPreferences through which you can retrieve and modify its
values.
|
final
String
|
getString(int resId)
Returns a localized string from the application's package's
default string table.
|
final
String
|
getString(int resId, Object... formatArgs)
Returns a localized formatted string from the application's package's
default string table, substituting the format arguments as defined in
Formatter and String.format(String, Object) .
|
final
<T>
T
|
getSystemService(Class<T> serviceClass)
Return the handle to a system-level service by class.
|
abstract
Object
|
getSystemService(String name)
Return the handle to a system-level service by name.
|
abstract
String
|
getSystemServiceName(Class<?> serviceClass)
Gets the name of the system-level service that is represented by the specified class.
|
final
CharSequence
|
getText(int resId)
Return a localized, styled CharSequence from the application's package's
default string table.
|
abstract
Resources.Theme
|
getTheme()
Return the Theme object associated with this Context.
|
abstract
Drawable
|
getWallpaper()
This method was deprecated
in API level 15.
Use WallpaperManager.get() instead.
|
abstract
int
|
getWallpaperDesiredMinimumHeight()
This method was deprecated
in API level 15.
Use WallpaperManager.getDesiredMinimumHeight() instead.
|
abstract
int
|
getWallpaperDesiredMinimumWidth()
This method was deprecated
in API level 15.
Use WallpaperManager.getDesiredMinimumWidth() instead.
|
abstract
void
|
grantUriPermission(String toPackage, Uri uri, int modeFlags)
Grant permission to access a specific Uri to another package, regardless
of whether that package has general permission to access the Uri's
content provider.
|
abstract
boolean
|
isDeviceProtectedStorage()
Indicates if the storage APIs of this Context are backed by
device-protected storage.
|
boolean
|
isRestricted()
Indicates whether this Context is restricted.
|
boolean
|
isUiContext()
Returns true if the context is a UI context which can access UI components such as
WindowManager , LayoutInflater or
WallpaperManager .
|
abstract
boolean
|
moveDatabaseFrom(Context sourceContext, String name)
Move an existing database file from the given source storage context to
this context.
|
abstract
boolean
|
moveSharedPreferencesFrom(Context sourceContext, String name)
Move an existing shared preferences file from the given source storage
context to this context.
|
final
TypedArray
|
obtainStyledAttributes(AttributeSet set, int[] attrs)
Retrieve styled attribute information in this Context's theme.
|
final
TypedArray
|
obtainStyledAttributes(AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes)
Retrieve styled attribute information in this Context's theme.
|
final
TypedArray
|
obtainStyledAttributes(int resid, int[] attrs)
Retrieve styled attribute information in this Context's theme.
|
final
TypedArray
|
obtainStyledAttributes(int[] attrs)
Retrieve styled attribute information in this Context's theme.
|
abstract
FileInputStream
|
openFileInput(String name)
Open a private file associated with this Context's application package
for reading.
|
abstract
FileOutputStream
|
openFileOutput(String name, int mode)
Open a private file associated with this Context's application package
for writing.
|
abstract
SQLiteDatabase
|
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler)
Open a new private SQLiteDatabase associated with this Context's
application package.
|
abstract
SQLiteDatabase
|
openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory)
Open a new private SQLiteDatabase associated with this Context's
application package.
|
abstract
Drawable
|
peekWallpaper()
This method was deprecated
in API level 15.
Use WallpaperManager.peek() instead.
|
void
|
registerComponentCallbacks(ComponentCallbacks callback)
Add a new ComponentCallbacks to the base application of the
Context, which will be called at the same times as the ComponentCallbacks
methods of activities and other components are called.
|
void
|
registerDeviceIdChangeListener(Executor executor, IntConsumer listener)
Adds a new device ID changed listener to the Context , which will be called when
the device association is changed by the system.
|
abstract
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter)
Register a BroadcastReceiver to be run in the main activity thread.
|
abstract
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, int flags)
Register to receive intent broadcasts, with the receiver optionally being
exposed to Instant Apps.
|
abstract
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler, int flags)
Register to receive intent broadcasts, to run in the context of
scheduler.
|
abstract
Intent
|
registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)
Register to receive intent broadcasts, to run in the context of
scheduler.
|
abstract
void
|
removeStickyBroadcast(Intent intent)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
abstract
void
|
removeStickyBroadcastAsUser(Intent intent, UserHandle user)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
revokeSelfPermissionOnKill(String permName)
Triggers the asynchronous revocation of a runtime permission.
|
void
|
revokeSelfPermissionsOnKill(Collection<String> permissions)
Triggers the revocation of one or more permissions for the calling package.
|
abstract
void
|
revokeUriPermission(Uri uri, int modeFlags)
Remove all permissions to access a particular content provider Uri
that were previously added with grantUriPermission(String, Uri, int) or any other mechanism.
|
abstract
void
|
revokeUriPermission(String toPackage, Uri uri, int modeFlags)
Remove permissions to access a particular content provider Uri
that were previously added with grantUriPermission(String, Uri, int) for a specific target
package.
|
void
|
sendBroadcast(Intent intent, String receiverPermission, Bundle options)
Broadcast the given intent to all interested BroadcastReceivers, allowing
an optional required permission to be enforced.
|
abstract
void
|
sendBroadcast(Intent intent, String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, allowing
an optional required permission to be enforced.
|
abstract
void
|
sendBroadcast(Intent intent)
Broadcast the given intent to all interested BroadcastReceivers.
|
abstract
void
|
sendBroadcastAsUser(Intent intent, UserHandle user)
Version of sendBroadcast(android.content.Intent) that allows you to specify the
user the broadcast will be sent to.
|
abstract
void
|
sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission)
Version of sendBroadcast(android.content.Intent, java.lang.String) that allows you to specify the
user the broadcast will be sent to.
|
void
|
sendBroadcastWithMultiplePermissions(Intent intent, String[] receiverPermissions)
Broadcast the given intent to all interested BroadcastReceivers, allowing
an array of required permissions to be enforced.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of
sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle) that allows you to specify the App Op to enforce restrictions on which receivers
the broadcast will be sent to.
|
abstract
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of sendBroadcast(android.content.Intent) that allows you to
receive data back from the broadcast.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, Bundle options)
Broadcast the given intent to all interested BroadcastReceivers, delivering
them one at a time to allow more preferred receivers to consume the
broadcast before it is delivered to less preferred receivers.
|
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of sendBroadcast(android.content.Intent) that allows you to
receive data back from the broadcast.
|
abstract
void
|
sendOrderedBroadcast(Intent intent, String receiverPermission)
Broadcast the given intent to all interested BroadcastReceivers, delivering
them one at a time to allow more preferred receivers to consume the
broadcast before it is delivered to less preferred receivers.
|
abstract
void
|
sendOrderedBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Version of
sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle)
that allows you to specify the
user the broadcast will be sent to.
|
abstract
void
|
sendStickyBroadcast(Intent intent)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
void
|
sendStickyBroadcast(Intent intent, Bundle options)
This method was deprecated
in API level 31.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
abstract
void
|
sendStickyBroadcastAsUser(Intent intent, UserHandle user)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
abstract
void
|
sendStickyOrderedBroadcast(Intent intent, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
abstract
void
|
sendStickyOrderedBroadcastAsUser(Intent intent, UserHandle user, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
This method was deprecated
in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone
can access them), no protection (anyone can modify them), and many other problems.
The recommended pattern is to use a non-sticky broadcast to report that something
has changed, with another mechanism for apps to retrieve the current value whenever
desired.
|
abstract
void
|
setTheme(int resid)
Set the base theme for this context.
|
abstract
void
|
setWallpaper(Bitmap bitmap)
This method was deprecated
in API level 15.
Use WallpaperManager.set() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
abstract
void
|
setWallpaper(InputStream data)
This method was deprecated
in API level 15.
Use WallpaperManager.set() instead.
This method requires the caller to hold the permission
Manifest.permission.SET_WALLPAPER .
|
abstract
void
|
startActivities(Intent[] intents, Bundle options)
Launch multiple new activities.
|
abstract
void
|
startActivities(Intent[] intents)
Same as startActivities(android.content.Intent[], android.os.Bundle) with no options
specified.
|
abstract
void
|
startActivity(Intent intent)
Same as startActivity(android.content.Intent, android.os.Bundle) with no options
specified.
|
abstract
void
|
startActivity(Intent intent, Bundle options)
Launch a new activity.
|
abstract
ComponentName
|
startForegroundService(Intent service)
Similar to startService(android.content.Intent) , but with an implicit promise that the
Service will call startForeground(int, android.app.Notification) once it begins running.
|
abstract
boolean
|
startInstrumentation(ComponentName className, String profileFile, Bundle arguments)
Start executing an Instrumentation class.
|
abstract
void
|
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
Same as startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle)
with no options specified.
|
abstract
void
|
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
Like startActivity(android.content.Intent, android.os.Bundle) , but taking a IntentSender
to start.
|
abstract
ComponentName
|
startService(Intent service)
Request that a given application service be started.
|
abstract
boolean
|
stopService(Intent service)
Request that a given application service be stopped.
|
abstract
void
|
unbindService(ServiceConnection conn)
Disconnect from an application service.
|
void
|
unregisterComponentCallbacks(ComponentCallbacks callback)
Remove a ComponentCallbacks object that was previously registered
with registerComponentCallbacks(android.content.ComponentCallbacks) .
|
void
|
unregisterDeviceIdChangeListener(IntConsumer listener)
Removes a device ID changed listener from the Context.
|
abstract
void
|
unregisterReceiver(BroadcastReceiver receiver)
Unregister a previously registered BroadcastReceiver.
|
void
|
updateServiceGroup(ServiceConnection conn, int group, int importance)
For a service previously bound with bindService(Intent, BindServiceFlags, Executor, ServiceConnection) or a related method, change
how the system manages that service's process in relation to other processes.
|
|
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
|
|
Constants
ACTION_SETTINGS_HOME
public static final String ACTION_SETTINGS_HOME
An optional activity intent action that shows additional settings for what notifications
should be processed by this notification listener service. If defined, the OS may link to
this activity from the system notification listener service filter settings page.
Constant Value:
"android.service.notification.action.SETTINGS_HOME"
FLAG_FILTER_TYPE_ALERTING
public static final int FLAG_FILTER_TYPE_ALERTING
A flag value indicating that this notification listener can see altering type notifications.
Constant Value:
2
(0x00000002)
FLAG_FILTER_TYPE_CONVERSATIONS
public static final int FLAG_FILTER_TYPE_CONVERSATIONS
A flag value indicating that this notification listener can see conversation type
notifications.
Constant Value:
1
(0x00000001)
FLAG_FILTER_TYPE_ONGOING
public static final int FLAG_FILTER_TYPE_ONGOING
A flag value indicating that this notification listener can see important
( > NotificationManager#IMPORTANCE_MIN
) ongoing type notifications.
Constant Value:
8
(0x00000008)
FLAG_FILTER_TYPE_SILENT
public static final int FLAG_FILTER_TYPE_SILENT
A flag value indicating that this notification listener can see silent type notifications.
Constant Value:
4
(0x00000004)
HINT_HOST_DISABLE_CALL_EFFECTS
public static final int HINT_HOST_DISABLE_CALL_EFFECTS
Listener hints
constant - the primary device UI
should disable phone call sounds, but not notification sound.
This does not change the interruption filter, only the effects. *
Constant Value:
4
(0x00000004)
HINT_HOST_DISABLE_EFFECTS
public static final int HINT_HOST_DISABLE_EFFECTS
Listener hints
constant - the primary device UI
should disable notification sound, vibrating and other visual or aural effects.
This does not change the interruption filter, only the effects. *
Constant Value:
1
(0x00000001)
HINT_HOST_DISABLE_NOTIFICATION_EFFECTS
public static final int HINT_HOST_DISABLE_NOTIFICATION_EFFECTS
Listener hints
constant - the primary device UI
should disable notification sound, but not phone calls.
This does not change the interruption filter, only the effects. *
Constant Value:
2
(0x00000002)
INTERRUPTION_FILTER_ALARMS
public static final int INTERRUPTION_FILTER_ALARMS
Interruption filter
constant -
Alarms only interruption filter.
Constant Value:
4
(0x00000004)
INTERRUPTION_FILTER_ALL
public static final int INTERRUPTION_FILTER_ALL
Interruption filter
constant -
Normal interruption filter.
Constant Value:
1
(0x00000001)
INTERRUPTION_FILTER_NONE
public static final int INTERRUPTION_FILTER_NONE
Interruption filter
constant -
No interruptions filter.
Constant Value:
3
(0x00000003)
INTERRUPTION_FILTER_PRIORITY
public static final int INTERRUPTION_FILTER_PRIORITY
Interruption filter
constant -
Priority interruption filter.
Constant Value:
2
(0x00000002)
INTERRUPTION_FILTER_UNKNOWN
public static final int INTERRUPTION_FILTER_UNKNOWN
Interruption filter
constant - returned when
the value is unavailable for any reason. For example, before the notification listener
is connected.
Constant Value:
0
(0x00000000)
public static final String META_DATA_DEFAULT_AUTOBIND
The name of the meta-data
tag containing a boolean value that is used to decide if
this listener should be automatically bound by default.
If the value is 'false', the listener can be bound on demand using requestRebind(ComponentName)
An absent value means that the default is 'true'
Constant Value:
"android.service.notification.default_autobind_listenerservice"
public static final String META_DATA_DEFAULT_FILTER_TYPES
The name of the meta-data
tag containing a pipe separated list of default
integer notification types or "ongoing", "conversations", "alerting", or "silent"
that should be provided to this listener. See
FLAG_FILTER_TYPE_ONGOING
,
FLAG_FILTER_TYPE_CONVERSATIONS
, {@link #FLAG_FILTER_TYPE_ALERTING),
and {@link #FLAG_FILTER_TYPE_SILENT}.
This value will only be read if the app has not previously specified a default type list,
and if the user has not overridden the allowed types.
An absent value means 'allow all types'.
A present but empty value means 'allow no types'.
Constant Value:
"android.service.notification.default_filter_types"
public static final String META_DATA_DISABLED_FILTER_TYPES
The name of the meta-data
tag containing a comma separated list of default
integer notification types that this listener never wants to receive. See
FLAG_FILTER_TYPE_ONGOING
,
FLAG_FILTER_TYPE_CONVERSATIONS
, {@link #FLAG_FILTER_TYPE_ALERTING),
and {@link #FLAG_FILTER_TYPE_SILENT}.
Types provided in this list will appear as 'off' and 'disabled' in the user interface,
so users don't enable a type that the listener will never bridge to their paired devices.
Constant Value:
"android.service.notification.disabled_filter_types"
REASON_APP_CANCEL
public static final int REASON_APP_CANCEL
Notification was canceled by the app canceling this specific notification.
Constant Value:
8
(0x00000008)
REASON_APP_CANCEL_ALL
public static final int REASON_APP_CANCEL_ALL
Notification was canceled by the app cancelling all its notifications.
Constant Value:
9
(0x00000009)
REASON_ASSISTANT_CANCEL
public static final int REASON_ASSISTANT_CANCEL
Notification was canceled due to an assistant adjustment update.
Constant Value:
22
(0x00000016)
REASON_CANCEL
public static final int REASON_CANCEL
Notification was canceled by the status bar reporting a user dismissal.
Constant Value:
2
(0x00000002)
REASON_CANCEL_ALL
public static final int REASON_CANCEL_ALL
Notification was canceled by the status bar reporting a user dismiss all.
Constant Value:
3
(0x00000003)
REASON_CHANNEL_BANNED
public static final int REASON_CHANNEL_BANNED
Notification was canceled by the user banning the channel.
Constant Value:
17
(0x00000011)
REASON_CHANNEL_REMOVED
public static final int REASON_CHANNEL_REMOVED
Notification was canceled due to the backing channel being deleted
Constant Value:
20
(0x00000014)
REASON_CLEAR_DATA
public static final int REASON_CLEAR_DATA
Notification was canceled due to the app's storage being cleared
Constant Value:
21
(0x00000015)
REASON_CLICK
public static final int REASON_CLICK
Notification was canceled by the status bar reporting a notification click.
Constant Value:
1
(0x00000001)
REASON_ERROR
public static final int REASON_ERROR
Notification was canceled by the status bar reporting an inflation error.
Constant Value:
4
(0x00000004)
REASON_GROUP_OPTIMIZATION
public static final int REASON_GROUP_OPTIMIZATION
Notification was canceled because it was an invisible member of a group.
Constant Value:
13
(0x0000000d)
REASON_GROUP_SUMMARY_CANCELED
public static final int REASON_GROUP_SUMMARY_CANCELED
Notification was canceled because it was a member of a canceled group.
Constant Value:
12
(0x0000000c)
REASON_LISTENER_CANCEL
public static final int REASON_LISTENER_CANCEL
Notification was canceled by a listener reporting a user dismissal.
Constant Value:
10
(0x0000000a)
REASON_LISTENER_CANCEL_ALL
public static final int REASON_LISTENER_CANCEL_ALL
Notification was canceled by a listener reporting a user dismiss all.
Constant Value:
11
(0x0000000b)
REASON_LOCKDOWN
public static final int REASON_LOCKDOWN
Notification was canceled when entering lockdown mode, which turns off
Smart Lock, fingerprint unlocking, and notifications on the lock screen.
All the listeners shall ensure the canceled notifications are indeed removed
on their end to prevent data leaking.
When the user exits the lockdown mode, the removed notifications (due to lockdown)
will be restored via NotificationListeners#notifyPostedLocked()
Constant Value:
23
(0x00000017)
REASON_PACKAGE_BANNED
public static final int REASON_PACKAGE_BANNED
Notification was canceled by the user banning the package.
Constant Value:
7
(0x00000007)
REASON_PACKAGE_CHANGED
public static final int REASON_PACKAGE_CHANGED
Notification was canceled by the package manager modifying the package.
Constant Value:
5
(0x00000005)
REASON_PACKAGE_SUSPENDED
public static final int REASON_PACKAGE_SUSPENDED
Notification was canceled by the device administrator suspending the package.
Constant Value:
14
(0x0000000e)
REASON_PROFILE_TURNED_OFF
public static final int REASON_PROFILE_TURNED_OFF
Notification was canceled by the owning managed profile being turned off.
Constant Value:
15
(0x0000000f)
REASON_SNOOZED
public static final int REASON_SNOOZED
Notification was snoozed.
Constant Value:
18
(0x00000012)
REASON_TIMEOUT
public static final int REASON_TIMEOUT
Notification was canceled due to timeout
Constant Value:
19
(0x00000013)
REASON_UNAUTOBUNDLED
public static final int REASON_UNAUTOBUNDLED
Autobundled summary notification was canceled because its group was unbundled
Constant Value:
16
(0x00000010)
REASON_USER_STOPPED
public static final int REASON_USER_STOPPED
Notification was canceled by the owning user context being stopped.
Constant Value:
6
(0x00000006)
SERVICE_INTERFACE
public static final String SERVICE_INTERFACE
The Intent
that must be declared as handled by the service.
Constant Value:
"android.service.notification.NotificationListenerService"
SUPPRESSED_EFFECT_SCREEN_OFF
public static final int SUPPRESSED_EFFECT_SCREEN_OFF
This constant was deprecated
in API level 28.
Use the more specific visual effects in NotificationManager.Policy
.
Whether notification suppressed by DND should not interruption visually when the screen is
off.
Constant Value:
1
(0x00000001)
SUPPRESSED_EFFECT_SCREEN_ON
public static final int SUPPRESSED_EFFECT_SCREEN_ON
This constant was deprecated
in API level 28.
Use the more specific visual effects in NotificationManager.Policy
.
Whether notification suppressed by DND should not interruption visually when the screen is
on.
Constant Value:
2
(0x00000002)
Public constructors
NotificationListenerService
public NotificationListenerService ()
Public methods
cancelAllNotifications
public final void cancelAllNotifications ()
Inform the notification manager about dismissal of all notifications.
Use this if your listener has a user interface that allows the user to dismiss all
notifications, similar to the behavior of Android's status bar and notification panel.
It should be called after the user invokes the "dismiss all" function of your UI;
upon being informed, the notification manager will actually remove all active notifications
and you will get multiple onNotificationRemoved(android.service.notification.StatusBarNotification)
callbacks.
The service should wait for the onListenerConnected()
event
before performing this operation.
cancelNotification
public final void cancelNotification (String key)
Inform the notification manager about dismissal of a single notification.
Use this if your listener has a user interface that allows the user to dismiss individual
notifications, similar to the behavior of Android's status bar and notification panel.
It should be called after the user dismisses a single notification using your UI;
upon being informed, the notification manager will actually remove the notification
and you will get an onNotificationRemoved(android.service.notification.StatusBarNotification)
callback.
Note: If your listener allows the user to fire a notification's
Notification.contentIntent
by tapping/clicking/etc., you should call
this method at that time if the Notification in question has the
Notification.FLAG_AUTO_CANCEL
flag set.
The service should wait for the onListenerConnected()
event
before performing this operation.
cancelNotifications
public final void cancelNotifications (String[] keys)
Inform the notification manager about dismissal of specific notifications.
Use this if your listener has a user interface that allows the user to dismiss
multiple notifications at once.
The service should wait for the onListenerConnected()
event
before performing this operation.
Parameters |
keys |
String : Notifications to dismiss, or null to dismiss all.
|
getActiveNotifications
public StatusBarNotification[] getActiveNotifications (String[] keys)
Request one or more notifications by key. Useful if you have been keeping track of
notifications but didn't want to retain the bits, and now need to go back and extract
more data out of those notifications.
The service should wait for the onListenerConnected()
event
before performing this operation.
Parameters |
keys |
String : the keys of the notifications to request |
Returns |
StatusBarNotification[] |
An array of notifications corresponding to the requested keys, in the
same order as the key list. |
getActiveNotifications
public StatusBarNotification[] getActiveNotifications ()
Request the list of outstanding notifications (that is, those that are visible to the
current user). Useful when you don't know what's already been posted.
The service should wait for the onListenerConnected()
event
before performing this operation.
getCurrentInterruptionFilter
public final int getCurrentInterruptionFilter ()
Gets the current notification interruption filter active on the host.
The interruption filter defines which notifications are allowed to interrupt the user
(e.g. via sound & vibration) and is applied globally. Listeners can find out whether
a specific notification matched the interruption filter via
Ranking#matchesInterruptionFilter()
.
The current filter may differ from the previously requested filter if the notification host
does not support or refuses to apply the requested filter, or if another component changed
the filter in the meantime.
Listen for updates using onInterruptionFilterChanged(int)
.
The service should wait for the onListenerConnected()
event
before performing this operation.
Returns |
int |
One of the INTERRUPTION_FILTER_ constants, or INTERRUPTION_FILTER_UNKNOWN when
unavailable. |
getCurrentListenerHints
public final int getCurrentListenerHints ()
Gets the set of hints representing current state.
The current state may differ from the requested state if the hint represents state
shared across all listeners or a feature the notification host does not support or refuses
to grant.
The service should wait for the onListenerConnected()
event
before performing this operation.
Returns |
int |
Zero or more of the HINT_ constants. |
getNotificationChannelGroups
public final List<NotificationChannelGroup> getNotificationChannelGroups (String pkg,
UserHandle user)
Returns all notification channel groups belonging to the given package for a given user.
This method will throw a security exception if you don't have access to notifications
for the given user.
The caller must have device
or be the notification assistant in order to use this method.
Parameters |
pkg |
String : The package to retrieve channel groups for.
This value cannot be null . |
user |
UserHandle : This value cannot be null . |
getNotificationChannels
public final List<NotificationChannel> getNotificationChannels (String pkg,
UserHandle user)
Returns all notification channels belonging to the given package for a given user.
This method will throw a security exception if you don't have access to notifications
for the given user.
The caller must have device
or be the notification assistant in order to use this method.
Parameters |
pkg |
String : The package to retrieve channels for.
This value cannot be null . |
user |
UserHandle : This value cannot be null . |
migrateNotificationFilter
public final void migrateNotificationFilter (int defaultTypes,
List<String> disallowedPkgs)
Lets an app migrate notification filters from its app into the OS.
This call will be ignored if the app has already migrated these settings or the user
has set filters in the UI. This method is intended for user specific settings; if an app has
already specified defaults types in its manifest with
META_DATA_DEFAULT_FILTER_TYPES
, the defaultTypes option will be ignored.
Parameters |
defaultTypes |
int : A value representing the types of notifications that this listener should
receive by default
Value is either 0 or a combination of FLAG_FILTER_TYPE_CONVERSATIONS , FLAG_FILTER_TYPE_ALERTING , FLAG_FILTER_TYPE_SILENT , and FLAG_FILTER_TYPE_ONGOING |
disallowedPkgs |
List : A list of package names whose notifications should not be seen by this
listener, by default, because the listener does not process or display them, or because a
user had previously disallowed these packages in the listener app's UI
This value may be null . |
onBind
public IBinder onBind (Intent intent)
This is not the lifecycle event you are looking for.
The service should wait for the onListenerConnected()
event
before performing any operations.
Parameters |
intent |
Intent : The Intent that was used to bind to this service,
as given to Context.bindService . Note that any extras that were included with
the Intent at that point will not be seen here. |
Returns |
IBinder |
Return an IBinder through which clients can call on to the
service. |
onDestroy
public void onDestroy ()
Called by the system to notify a Service that it is no longer used and is being removed. The
service should clean up any resources it holds (threads, registered
receivers, etc) at this point. Upon return, there will be no more calls
in to this Service object and it is effectively dead. Do not call this method directly.
onInterruptionFilterChanged
public void onInterruptionFilterChanged (int interruptionFilter)
Implement this method to be notified when the
interruption filter
changed.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onListenerConnected
public void onListenerConnected ()
Implement this method to learn about when the listener is enabled and connected to
the notification manager. You are safe to call getActiveNotifications()
at this time.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onListenerDisconnected
public void onListenerDisconnected ()
Implement this method to learn about when the listener is disconnected from the
notification manager.You will not receive any events after this call, and may only
call requestRebind(android.content.ComponentName)
at this time.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onListenerHintsChanged
public void onListenerHintsChanged (int hints)
Implement this method to be notified when the
Listener hints
change.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onNotificationChannelGroupModified
public void onNotificationChannelGroupModified (String pkg,
UserHandle user,
NotificationChannelGroup group,
int modificationType)
Implement this method to learn about notification channel group modifications.
The caller must have device
in order to receive this callback.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onNotificationChannelModified
public void onNotificationChannelModified (String pkg,
UserHandle user,
NotificationChannel channel,
int modificationType)
Implement this method to learn about notification channel modifications.
The caller must have device
in order to receive this callback.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
onNotificationPosted
public void onNotificationPosted (StatusBarNotification sbn,
NotificationListenerService.RankingMap rankingMap)
Implement this method to learn about new notifications as they are posted by apps.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
Parameters |
sbn |
StatusBarNotification : A data structure encapsulating the original Notification
object as well as its identifying information (tag and id) and source
(package name). |
rankingMap |
NotificationListenerService.RankingMap : The current ranking map that can be used to retrieve ranking information
for active notifications, including the newly posted one. |
onNotificationPosted
public void onNotificationPosted (StatusBarNotification sbn)
Implement this method to learn about new notifications as they are posted by apps.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
Parameters |
sbn |
StatusBarNotification : A data structure encapsulating the original Notification
object as well as its identifying information (tag and id) and source
(package name). |
onNotificationRankingUpdate
public void onNotificationRankingUpdate (NotificationListenerService.RankingMap rankingMap)
Implement this method to be notified when the notification ranking changes.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
Parameters |
rankingMap |
NotificationListenerService.RankingMap : The current ranking map that can be used to retrieve ranking information
for active notifications. |
onNotificationRemoved
public void onNotificationRemoved (StatusBarNotification sbn,
NotificationListenerService.RankingMap rankingMap,
int reason)
Implement this method to learn when notifications are removed and why.
NOTE: The StatusBarNotification
object you receive will be "light"; that is, the
result from StatusBarNotification#getNotification
may be missing some heavyweight
fields such as Notification.contentView
and
Notification.largeIcon
. However, all other fields on
StatusBarNotification
, sufficient to match this call with a prior call to
onNotificationPosted(android.service.notification.StatusBarNotification)
, will be intact.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
Parameters |
sbn |
StatusBarNotification : A data structure encapsulating at least the original information (tag and id)
and source (package name) used to post the Notification that
was just removed. |
rankingMap |
NotificationListenerService.RankingMap : The current ranking map that can be used to retrieve ranking information
for active notifications. |
reason |
int : Value is REASON_CLICK , REASON_CANCEL , REASON_CANCEL_ALL , REASON_ERROR , REASON_PACKAGE_CHANGED , REASON_USER_STOPPED , REASON_PACKAGE_BANNED , REASON_APP_CANCEL , REASON_APP_CANCEL_ALL , REASON_LISTENER_CANCEL , REASON_LISTENER_CANCEL_ALL , REASON_GROUP_SUMMARY_CANCELED , REASON_GROUP_OPTIMIZATION , REASON_PACKAGE_SUSPENDED , REASON_PROFILE_TURNED_OFF , REASON_UNAUTOBUNDLED , REASON_CHANNEL_BANNED , REASON_SNOOZED , REASON_TIMEOUT , REASON_CHANNEL_REMOVED , REASON_CLEAR_DATA , REASON_ASSISTANT_CANCEL , or REASON_LOCKDOWN |
onSilentStatusBarIconsVisibilityChanged
public void onSilentStatusBarIconsVisibilityChanged (boolean hideSilentStatusIcons)
Implement this method to be notified when the behavior of silent notifications in the status
bar changes. See NotificationManager#shouldHideSilentStatusBarIcons()
.
This method must be called on the thread that originally created
this UI element. This is typically the
main thread of your app.
Parameters |
hideSilentStatusIcons |
boolean : whether or not status bar icons should be hidden for silent
notifications |
requestInterruptionFilter
public final void requestInterruptionFilter (int interruptionFilter)
Sets the desired interruption filter
.
This is merely a request, the host may or may not choose to apply the requested
interruption filter depending on other listener requests or other global state.
Listen for updates using onInterruptionFilterChanged(int)
.
Apps targeting Build.VERSION_CODES#VANILLA_ICE_CREAM
and above (with some
exceptions, such as companion device managers) cannot modify the global interruption filter.
Calling this method will instead activate or deactivate an
AutomaticZenRule
associated to the app.
The service should wait for the onListenerConnected()
event
before performing this operation.
Parameters |
interruptionFilter |
int : One of the INTERRUPTION_FILTER_ constants. |
requestListenerHints
public final void requestListenerHints (int hints)
Sets the desired listener hints
.
This is merely a request, the host may or may not choose to take action depending
on other listener requests or other global state.
Listen for updates using onListenerHintsChanged(int)
.
The service should wait for the onListenerConnected()
event
before performing this operation.
Parameters |
hints |
int : One or more of the HINT_ constants. |
requestRebind
public static void requestRebind (ComponentName componentName)
Request that the listener be rebound, after a previous call to requestUnbind()
.
This method will fail for listeners that have
not been granted the permission by the user.
Parameters |
componentName |
ComponentName |
requestUnbind
public static void requestUnbind (ComponentName componentName)
Request that the service be unbound.
This method will fail for components that are not part of the calling app.
Parameters |
componentName |
ComponentName : This value cannot be null . |
requestUnbind
public final void requestUnbind ()
Request that the service be unbound.
Once this is called, you will no longer receive updates and no method calls are
guaranteed to be successful, until you next receive the onListenerConnected()
event.
The service will likely be killed by the system after this call.
The service should wait for the onListenerConnected()
event
before performing this operation. I know it's tempting, but you must wait.
setNotificationsShown
public final void setNotificationsShown (String[] keys)
Inform the notification manager that these notifications have been viewed by the
user. This should only be called when there is sufficient confidence that the user is
looking at the notifications, such as when the notifications appear on the screen due to
an explicit user interaction.
The service should wait for the onListenerConnected()
event
before performing this operation.
Parameters |
keys |
String : Notifications to mark as seen. |
updateNotificationChannel
public final void updateNotificationChannel (String pkg,
UserHandle user,
NotificationChannel channel)
Updates a notification channel for a given package for a given user. This should only be used
to reflect changes a user has made to the channel via the listener's user interface.
This method will throw a security exception if you don't have access to notifications
for the given user.
The caller must have device
in order to use this method.
Parameters |
pkg |
String : The package the channel belongs to.
This value cannot be null . |
user |
UserHandle : The user the channel belongs to.
This value cannot be null . |
channel |
NotificationChannel : the channel to update.
This value cannot be null . |
Protected methods
attachBaseContext
protected void attachBaseContext (Context base)
Set the base context for this ContextWrapper. All calls will then be
delegated to the base context. Throws
IllegalStateException if a base context has already been set.
Parameters |
base |
Context : The new base context for this wrapper. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-06-18 UTC.
[null,null,["Last updated 2024-06-18 UTC."],[],[]]