NativeActivity


public class NativeActivity
extends Activity implements InputQueue.Callback, SurfaceHolder.Callback2, ViewTreeObserver.OnGlobalLayoutListener

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.view.ContextThemeWrapper
         ↳ android.app.Activity
           ↳ android.app.NativeActivity


Convenience for implementing an activity that will be implemented purely in native code. That is, a game (or game-like thing). There is no need to derive from this class; you can simply declare it in your manifest, and use the NDK APIs from there.

A sample native activity is available in the NDK samples.

Summary

Constants

String META_DATA_FUNC_NAME

Optional meta-that can be in the manifest for this component, specifying the name of the main entry point for this native activity in the META_DATA_LIB_NAME native code.

String META_DATA_LIB_NAME

Optional meta-that can be in the manifest for this component, specifying the name of the native shared library to load.

Inherited constants

int DEFAULT_KEYS_DIALER

Use with setDefaultKeyMode(int) to launch the dialer during default key handling.

int DEFAULT_KEYS_DISABLE

Use with setDefaultKeyMode(int) to turn off default handling of keys.

int DEFAULT_KEYS_SEARCH_GLOBAL

Use with setDefaultKeyMode(int) to specify that unhandled keystrokes will start a global search (typically web search, but some platforms may define alternate methods for global search)

See android.app.SearchManager for more details.

int DEFAULT_KEYS_SEARCH_LOCAL

Use with setDefaultKeyMode(int) to specify that unhandled keystrokes will start an application-defined search.

int DEFAULT_KEYS_SHORTCUT

Use with setDefaultKeyMode(int) to execute a menu shortcut in default key handling.

int FULLSCREEN_MODE_REQUEST_ENTER

Request type of requestFullscreenMode(int, android.os.OutcomeReceiver), to request enter fullscreen mode from multi-window mode.

int FULLSCREEN_MODE_REQUEST_EXIT

Request type of requestFullscreenMode(int, android.os.OutcomeReceiver), to request exiting the requested fullscreen mode and restore to the previous multi-window mode.

int OVERRIDE_TRANSITION_CLOSE

Request type of overrideActivityTransition(int, int, int) or overrideActivityTransition(int, int, int, int), to override the closing transition.

int OVERRIDE_TRANSITION_OPEN

Request type of overrideActivityTransition(int, int, int) or overrideActivityTransition(int, int, int, int), to override the opening transition.

int RESULT_CANCELED

Standard activity result: operation canceled.

int RESULT_FIRST_USER

Start of user-defined activity results.

int RESULT_OK

Standard activity result: operation succeeded.

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_FUNCTION_SERVICE

Use with getSystemService(java.lang.String) to retrieve an AppFunctionManager for executing app functions.

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 KEYSTORE_SERVICE

Use with getSystemService(java.lang.String) to retrieve a KeyStoreManager for accessing Android Keystore functions.

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 SATELLITE_SERVICE

Use with getSystemService(java.lang.String) to retrieve a SatelliteManager for accessing satellite functionality.

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_AD_SERVICE

Use with getSystemService(java.lang.String) to retrieve a TvAdManager for interacting with TV client-side advertisement services on the device.

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.

int TRIM_MEMORY_BACKGROUND

Level for onTrimMemory(int): the process has gone on to the LRU list.

int TRIM_MEMORY_COMPLETE

This constant was deprecated in API level 35. Apps are not notified of this level since API level 34

int TRIM_MEMORY_MODERATE

This constant was deprecated in API level 35. Apps are not notified of this level since API level 34

int TRIM_MEMORY_RUNNING_CRITICAL

This constant was deprecated in API level 35. Apps are not notified of this level since API level 34

int TRIM_MEMORY_RUNNING_LOW

This constant was deprecated in API level 35. Apps are not notified of this level since API level 34

int TRIM_MEMORY_RUNNING_MODERATE

This constant was deprecated in API level 35. Apps are not notified of this level since API level 34

int TRIM_MEMORY_UI_HIDDEN

Level for onTrimMemory(int): the process had been showing a user interface, and is no longer doing so.

Inherited fields

protected static final int[] FOCUSED_STATE_SET

Public constructors

NativeActivity()

Public methods

void onConfigurationChanged(Configuration newConfig)

Called by the system when the device configuration changes while your activity is running.

void onGlobalLayout()

Callback method to be invoked when the global layout state or the visibility of views within the view tree changes

void onInputQueueCreated(InputQueue queue)

Called when the given InputQueue is now associated with the thread making this call, so it can start receiving events from it.

void onInputQueueDestroyed(InputQueue queue)

Called when the given InputQueue is no longer associated with the thread and thus not dispatching events.

void onLowMemory()

This is called when the overall system is running low on memory, and actively running processes should trim their memory usage.

void onWindowFocusChanged(boolean hasFocus)

Called when the current Window of the activity gains or loses focus.

void surfaceChanged(SurfaceHolder holder, int format, int width, int height)

This is called immediately after any structural changes (format or size) have been made to the surface.

void surfaceCreated(SurfaceHolder holder)

This is called immediately after the surface is first created.

void surfaceDestroyed(SurfaceHolder holder)

This is called immediately before a surface is being destroyed.

void surfaceRedrawNeeded(SurfaceHolder holder)

Called when the application needs to redraw the content of its surface, after it is resized or for some other reason.

Protected methods

void onCreate(Bundle savedInstanceState)

Called when the activity is starting.

void onDestroy()

Perform any final cleanup before an activity is destroyed.

void onPause()

Called as part of the activity lifecycle when the user no longer actively interacts with the activity, but it is still visible on screen.

void onResume()

Called after onRestoreInstanceState(Bundle), onRestart(), or onPause().

void onSaveInstanceState(Bundle outState)

Called to retrieve per-instance state from an activity before being killed so that the state can be restored in onCreate(Bundle) or onRestoreInstanceState(Bundle) (the Bundle populated by this method will be passed to both).

void onStart()

Called after onCreate(Bundle) — or after onRestart() when the activity had been stopped, but is now again being displayed to the user.

void onStop()

Called when you are no longer visible to the user.

Inherited methods

void addContentView(View view, ViewGroup.LayoutParams params)

Add an additional content view to the activity.

void attachBaseContext(Context newBase)

Set the base context for this ContextWrapper.

void clearOverrideActivityTransition(int overrideType)

Clears the animations which are set from overrideActivityTransition(int, int, int).

void closeContextMenu()

Programmatically closes the most recently opened context menu, if showing.

void closeOptionsMenu()

Progammatically closes the options menu.

PendingIntent createPendingResult(int requestCode, Intent data, int flags)

Create a new PendingIntent object which you can hand to others for them to use to send result data back to your onActivityResult(int, int, Intent) callback.

final void dismissDialog(int id)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

final void dismissKeyboardShortcutsHelper()

Dismiss the Keyboard Shortcuts screen.

boolean dispatchGenericMotionEvent(MotionEvent ev)

Called to process generic motion events.

boolean dispatchKeyEvent(KeyEvent event)

Called to process key events.

boolean dispatchKeyShortcutEvent(KeyEvent event)

Called to process a key shortcut event.

boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)

Called to process population of AccessibilityEvents.

boolean dispatchTouchEvent(MotionEvent ev)

Called to process touch screen events.

boolean dispatchTrackballEvent(MotionEvent ev)

Called to process trackball events.

void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)

Print the Activity's state into the given stream.

boolean enterPictureInPictureMode(PictureInPictureParams params)

Puts the activity in picture-in-picture mode if possible in the current system state.

void enterPictureInPictureMode()

Puts the activity in picture-in-picture mode if possible in the current system state.

<T extends View> T findViewById(int id)

Finds a view that was identified by the android:id XML attribute that was processed in onCreate(Bundle).

void finish()

Call this when your activity is done and should be closed.

void finishActivity(int requestCode)

Force finish another activity that you had previously started with startActivityForResult(Intent, int).

void finishActivityFromChild(Activity child, int requestCode)

This method was deprecated in API level 30. Use finishActivity(int) instead.

void finishAffinity()

Finish this activity as well as all activities immediately below it in the current task that have the same affinity.

void finishAfterTransition()

Reverses the Activity Scene entry Transition and triggers the calling Activity to reverse its exit Transition.

void finishAndRemoveTask()

Call this when your activity is done and should be closed and the task should be completely removed as a part of finishing the root activity of the task.

void finishFromChild(Activity child)

This method was deprecated in API level 30. Use finish() instead.

ActionBar getActionBar()

Retrieve a reference to this activity's ActionBar.

final Application getApplication()

Return the application that owns this activity.

ComponentCaller getCaller()

Returns the ComponentCaller instance of the app that started this activity.

ComponentName getCallingActivity()

Return the name of the activity that invoked this activity.

String getCallingPackage()

Return the name of the package that invoked this activity.

int getChangingConfigurations()

If this activity is being destroyed because it can not handle a configuration parameter being changed (and thus its onConfigurationChanged(android.content.res.Configuration) method is not being called), then you can use this method to discover the set of changes that have occurred while in the process of being destroyed.

ComponentName getComponentName()

Returns the complete component name of this activity.

Scene getContentScene()

Retrieve the Scene representing this window's current content.

TransitionManager getContentTransitionManager()

Retrieve the TransitionManager responsible for default transitions in this window.

ComponentCaller getCurrentCaller()

Returns the ComponentCaller instance of the app that re-launched this activity with a new intent via onNewIntent(Intent) or onActivityResult(int, int, Intent).

View getCurrentFocus()

Calls Window.getCurrentFocus() on the Window of this Activity to return the currently focused view.

FragmentManager getFragmentManager()

This method was deprecated in API level 28. Use FragmentActivity.getSupportFragmentManager()

ComponentCaller getInitialCaller()

Returns the ComponentCaller instance of the app that initially launched this activity.

Intent getIntent()

Returns the intent that started this activity.

Object getLastNonConfigurationInstance()

Retrieve the non-configuration instance data that was previously returned by onRetainNonConfigurationInstance().

String getLaunchedFromPackage()

Returns the package name of the app that initially launched this activity.

int getLaunchedFromUid()

Returns the uid of the app that initially launched this activity.

LayoutInflater getLayoutInflater()

Convenience for calling Window.getLayoutInflater().

LoaderManager getLoaderManager()

This method was deprecated in API level 28. Use FragmentActivity.getSupportLoaderManager()

String getLocalClassName()

Returns class name for this activity with the package prefix removed.

int getMaxNumPictureInPictureActions()

Return the number of actions that will be displayed in the picture-in-picture UI when the user interacts with the activity currently in picture-in-picture mode.

final MediaController getMediaController()

Gets the controller which should be receiving media key and volume events while this activity is in the foreground.

MenuInflater getMenuInflater()

Returns a MenuInflater with this context.

OnBackInvokedDispatcher getOnBackInvokedDispatcher()

Returns the OnBackInvokedDispatcher instance associated with the window that this activity is attached to.

final Activity getParent()

This method was deprecated in API level 35. ActivityGroup is deprecated.

Intent getParentActivityIntent()

Obtain an Intent that will launch an explicit target activity specified by this activity's logical parent.

SharedPreferences getPreferences(int mode)

Retrieve a SharedPreferences object for accessing preferences that are private to this activity.

Uri getReferrer()

Return information about who launched this activity.

int getRequestedOrientation()

Return the current requested orientation of the activity.

final SearchEvent getSearchEvent()

During the onSearchRequested() callbacks, this function will return the SearchEvent that triggered the callback, if it exists.

final SplashScreen getSplashScreen()

Get the interface that activity use to talk to the splash screen.

Object getSystemService(String name)

Return the handle to a system-level service by name.

int getTaskId()

Return the identifier of the task this activity is in.

final CharSequence getTitle()
final int getTitleColor()
VoiceInteractor getVoiceInteractor()

Retrieve the active VoiceInteractor that the user is going through to interact with this activity.

final int getVolumeControlStream()

Gets the suggested audio stream whose volume should be changed by the hardware volume controls.

Window getWindow()

Retrieve the current Window for the activity.

WindowManager getWindowManager()

Retrieve the window manager for showing custom windows.

boolean hasWindowFocus()

Returns true if this activity's main window currently has window focus.

void invalidateOptionsMenu()

Declare that the options menu has changed, so should be recreated.

boolean isActivityTransitionRunning()

Returns whether there are any activity transitions currently running on this activity.

boolean isChangingConfigurations()

Check to see whether this activity is in the process of being destroyed in order to be recreated with a new configuration.

final boolean isChild()

This method was deprecated in API level 35. ActivityGroup is deprecated.

boolean isDestroyed()

Returns true if the final onDestroy() call has been made on the Activity, so this instance is now dead.

boolean isFinishing()

Check to see whether this activity is in the process of finishing, either because you called finish() on it or someone else has requested that it finished.

boolean isImmersive()

Bit indicating that this activity is "immersive" and should not be interrupted by notifications if possible.

boolean isInMultiWindowMode()

Returns true if the activity is currently in multi-window mode.

boolean isInPictureInPictureMode()

Returns true if the activity is currently in picture-in-picture mode.

boolean isLaunchedFromBubble()

Indicates whether this activity is launched from a bubble.

boolean isLocalVoiceInteractionSupported()

Queries whether the currently enabled voice interaction service supports returning a voice interactor for use by the activity.

boolean isTaskRoot()

Return whether this activity is the root of a task.

boolean isVoiceInteraction()

Check whether this activity is running as part of a voice interaction with the user.

boolean isVoiceInteractionRoot()

Like isVoiceInteraction(), but only returns true if this is also the root of a voice interaction.

final Cursor managedQuery(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)

This method was deprecated in API level 15. Use CursorLoader instead.

boolean moveTaskToBack(boolean nonRoot)

Move the task containing this activity to the back of the activity stack.

boolean navigateUpTo(Intent upIntent)

Navigate from this activity to the activity specified by upIntent, finishing this activity in the process.

boolean navigateUpToFromChild(Activity child, Intent upIntent)

This method was deprecated in API level 30. Use navigateUpTo(android.content.Intent) instead.

void onActionModeFinished(ActionMode mode)

Notifies the activity that an action mode has finished.

void onActionModeStarted(ActionMode mode)

Notifies the Activity that an action mode has been started.

void onActivityReenter(int resultCode, Intent data)

Called when an activity you launched with an activity transition exposes this Activity through a returning activity transition, giving you the resultCode and any additional data from it.

void onActivityResult(int requestCode, int resultCode, Intent data)

Called when an activity you launched exits, giving you the requestCode you started it with, the resultCode it returned, and any additional data from it.

void onActivityResult(int requestCode, int resultCode, Intent data, ComponentCaller caller)

Same as onActivityResult(int, int, android.content.Intent), but with an extra parameter for the ComponentCaller instance associated with the app that sent the result.

void onApplyThemeResource(Resources.Theme theme, int resid, boolean first)

Called by setTheme(Theme) and getTheme() to apply a theme resource to the current Theme object.

void onAttachFragment(Fragment fragment)

This method was deprecated in API level 28. Use FragmentActivity.onAttachFragment(androidx.fragment.app.Fragment)

void onAttachedToWindow()

Called when the main window associated with the activity has been attached to the window manager.

void onBackPressed()

This method was deprecated in API level 33. Use OnBackInvokedCallback or androidx.activity.OnBackPressedCallback to handle back navigation instead.

Starting from Android 13 (API level 33), back event handling is moving to an ahead-of-time model and Activity.onBackPressed() and KeyEvent.KEYCODE_BACK should not be used to handle back events (back gesture or back button click). Instead, an OnBackInvokedCallback should be registered using Activity.getOnBackInvokedDispatcher() .registerOnBackInvokedCallback(priority, callback).

void onChildTitleChanged(Activity childActivity, CharSequence title)
void onConfigurationChanged(Configuration newConfig)

Called by the system when the device configuration changes while your activity is running.

void onContentChanged()

This hook is called whenever the content view of the screen changes (due to a call to Window.setContentView or Window.addContentView).

boolean onContextItemSelected(MenuItem item)

This hook is called whenever an item in a context menu is selected.

void onContextMenuClosed(Menu menu)

This hook is called whenever the context menu is being closed (either by the user canceling the menu with the back/menu button, or when an item is selected).

void onCreate(Bundle savedInstanceState, PersistableBundle persistentState)

Same as onCreate(android.os.Bundle) but called for those activities created with the attribute R.attr.persistableMode set to persistAcrossReboots.

void onCreate(Bundle savedInstanceState)

Called when the activity is starting.

void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

Called when a context menu for the view is about to be shown.

CharSequence onCreateDescription()

Generate a new description for this activity.

Dialog onCreateDialog(int id)

This method was deprecated in API level 15. Old no-arguments version of onCreateDialog(int, android.os.Bundle).

Dialog onCreateDialog(int id, Bundle args)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

void onCreateNavigateUpTaskStack(TaskStackBuilder builder)

Define the synthetic task stack that will be generated during Up navigation from a different task.

boolean onCreateOptionsMenu(Menu menu)

Initialize the contents of the Activity's standard options menu.

boolean onCreatePanelMenu(int featureId, Menu menu)

Default implementation of Window.Callback.onCreatePanelMenu(int, Menu) for activities.

View onCreatePanelView(int featureId)

Default implementation of Window.Callback.onCreatePanelView(int) for activities.

boolean onCreateThumbnail(Bitmap outBitmap, Canvas canvas)

This method was deprecated in API level 28. Method doesn't do anything and will be removed in the future.

View onCreateView(View parent, String name, Context context, AttributeSet attrs)

Standard implementation of LayoutInflater.Factory2.onCreateView(View, String, Context, AttributeSet) used when inflating with the LayoutInflater returned by Context.getSystemService(Class).

View onCreateView(String name, Context context, AttributeSet attrs)

Standard implementation of LayoutInflater.Factory.onCreateView(String, Context, AttributeSet) used when inflating with the LayoutInflater returned by Context.getSystemService(Class).

void onDestroy()

Perform any final cleanup before an activity is destroyed.

void onDetachedFromWindow()

Called when the main window associated with the activity has been detached from the window manager.

void onEnterAnimationComplete()

Activities cannot draw during the period that their windows are animating in.

boolean onGenericMotionEvent(MotionEvent event)

Called when a generic motion event was not handled by any of the views inside of the activity.

void onGetDirectActions(CancellationSignal cancellationSignal, Consumer<List<DirectAction>> callback)

Returns the list of direct actions supported by the app.

boolean onKeyDown(int keyCode, KeyEvent event)

Called when a key was pressed down and not handled by any of the views inside of the activity.

boolean onKeyLongPress(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle the event).

boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).

boolean onKeyShortcut(int keyCode, KeyEvent event)

Called when a key shortcut event is not handled by any of the views in the Activity.

boolean onKeyUp(int keyCode, KeyEvent event)

Called when a key was released and not handled by any of the views inside of the activity.

void onLocalVoiceInteractionStarted()

Callback to indicate that startLocalVoiceInteraction(android.os.Bundle) has resulted in a voice interaction session being started.

void onLocalVoiceInteractionStopped()

Callback to indicate that the local voice interaction has stopped either because it was requested through a call to stopLocalVoiceInteraction() or because it was canceled by the user.

void onLowMemory()

This is called when the overall system is running low on memory, and actively running processes should trim their memory usage.

boolean onMenuItemSelected(int featureId, MenuItem item)

Default implementation of Window.Callback.onMenuItemSelected(int, MenuItem) for activities.

boolean onMenuOpened(int featureId, Menu menu)

Called when a panel's menu is opened by the user.

void onMultiWindowModeChanged(boolean isInMultiWindowMode)

This method was deprecated in API level 26. Use onMultiWindowModeChanged(boolean, android.content.res.Configuration) instead.

void onMultiWindowModeChanged(boolean isInMultiWindowMode, Configuration newConfig)

Called by the system when the activity changes from fullscreen mode to multi-window mode and visa-versa.

boolean onNavigateUp()

This method is called whenever the user chooses to navigate Up within your application's activity hierarchy from the action bar.

boolean onNavigateUpFromChild(Activity child)

This method was deprecated in API level 30. Use onNavigateUp() instead.

void onNewIntent(Intent intent, ComponentCaller caller)

Same as onNewIntent(android.content.Intent), but with an extra parameter for the ComponentCaller instance associated with the app that sent the intent.

void onNewIntent(Intent intent)

This is called for activities that set launchMode to "singleTop" in their package, or if a client used the Intent.FLAG_ACTIVITY_SINGLE_TOP flag when calling startActivity(Intent).

boolean onOptionsItemSelected(MenuItem item)

This hook is called whenever an item in your options menu is selected.

void onOptionsMenuClosed(Menu menu)

This hook is called whenever the options menu is being closed (either by the user canceling the menu with the back/menu button, or when an item is selected).

void onPanelClosed(int featureId, Menu menu)

Default implementation of Window.Callback.onPanelClosed(int, Menu) for activities.

void onPause()

Called as part of the activity lifecycle when the user no longer actively interacts with the activity, but it is still visible on screen.

void onPerformDirectAction(String actionId, Bundle arguments, CancellationSignal cancellationSignal, Consumer<Bundle> resultListener)

This is called to perform an action previously defined by the app.

void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig)

Called by the system when the activity changes to and from picture-in-picture mode.

void onPictureInPictureModeChanged(boolean isInPictureInPictureMode)

This method was deprecated in API level 26. Use onPictureInPictureModeChanged(boolean, android.content.res.Configuration) instead.

boolean onPictureInPictureRequested()

This method is called by the system in various cases where picture in picture mode should be entered if supported.

void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState)

Called by the system when the activity is in PiP and has state changes.

void onPostCreate(Bundle savedInstanceState)

Called when activity start-up is complete (after onStart() and onRestoreInstanceState(Bundle) have been called).

void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState)

This is the same as onPostCreate(android.os.Bundle) but is called for activities created with the attribute R.attr.persistableMode set to persistAcrossReboots.

void onPostResume()

Called when activity resume is complete (after onResume() has been called).

void onPrepareDialog(int id, Dialog dialog, Bundle args)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

void onPrepareDialog(int id, Dialog dialog)

This method was deprecated in API level 15. Old no-arguments version of onPrepareDialog(int, android.app.Dialog, android.os.Bundle).

void onPrepareNavigateUpTaskStack(TaskStackBuilder builder)

Prepare the synthetic task stack that will be generated during Up navigation from a different task.

boolean onPrepareOptionsMenu(Menu menu)

Prepare the Screen's standard options menu to be displayed.

boolean onPreparePanel(int featureId, View view, Menu menu)

Default implementation of Window.Callback.onPreparePanel(int, View, Menu) for activities.

void onProvideAssistContent(AssistContent outContent)

This is called when the user is requesting an assist, to provide references to content related to the current activity.

void onProvideAssistData(Bundle data)

This is called when the user is requesting an assist, to build a full Intent.ACTION_ASSIST Intent with all of the context of the current application.

void onProvideKeyboardShortcuts(List<KeyboardShortcutGroup> data, Menu menu, int deviceId)

Called when Keyboard Shortcuts are requested for the current window.

Uri onProvideReferrer()

Override to generate the desired referrer for the content currently being shown by the app.

void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)

Callback for the result from requesting permissions.

void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults, int deviceId)

Callback for the result from requesting permissions.

void onRestart()

Called after onStop() when the current activity is being re-displayed to the user (the user has navigated back to it).

void onRestoreInstanceState(Bundle savedInstanceState)

This method is called after onStart() when the activity is being re-initialized from a previously saved state, given here in savedInstanceState.

void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState)

This is the same as onRestoreInstanceState(android.os.Bundle) but is called for activities created with the attribute R.attr.persistableMode set to persistAcrossReboots.

void onResume()

Called after onRestoreInstanceState(Bundle), onRestart(), or onPause().

Object onRetainNonConfigurationInstance()

Called by the system, as part of destroying an activity due to a configuration change, when it is known that a new instance will immediately be created for the new configuration.

void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState)

This is the same as onSaveInstanceState(Bundle) but is called for activities created with the attribute R.attr.persistableMode set to persistAcrossReboots.

void onSaveInstanceState(Bundle outState)

Called to retrieve per-instance state from an activity before being killed so that the state can be restored in onCreate(Bundle) or onRestoreInstanceState(Bundle) (the Bundle populated by this method will be passed to both).

boolean onSearchRequested(SearchEvent searchEvent)

This hook is called when the user signals the desire to start a search.

boolean onSearchRequested()

Called when the user signals the desire to start a search.

void onStart()

Called after onCreate(Bundle) — or after onRestart() when the activity had been stopped, but is now again being displayed to the user.

void onStateNotSaved()

This method was deprecated in API level 29. starting with Build.VERSION_CODES.P onSaveInstanceState is called after onStop(), so this hint isn't accurate anymore: you should consider your state not saved in between onStart and onStop callbacks inclusively.

void onStop()

Called when you are no longer visible to the user.

void onTitleChanged(CharSequence title, int color)
void onTopResumedActivityChanged(boolean isTopResumedActivity)

Called when activity gets or loses the top resumed position in the system.

boolean onTouchEvent(MotionEvent event)

Called when a touch screen event was not handled by any of the views inside of the activity.

boolean onTrackballEvent(MotionEvent event)

Called when the trackball was moved and not handled by any of the views inside of the activity.

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.

void onUserInteraction()

Called whenever a key, touch, or trackball event is dispatched to the activity.

void onUserLeaveHint()

Called as part of the activity lifecycle when an activity is about to go into the background as the result of user choice.

void onVisibleBehindCanceled()

This method was deprecated in API level 26. This method's functionality is no longer supported as of Build.VERSION_CODES.O and will be removed in a future release.

void onWindowAttributesChanged(WindowManager.LayoutParams params)

This is called whenever the current window attributes change.

void onWindowFocusChanged(boolean hasFocus)

Called when the current Window of the activity gains or loses focus.

ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type)

Called when an action mode is being started for this window.

ActionMode onWindowStartingActionMode(ActionMode.Callback callback)

Give the Activity a chance to control the UI for an action mode requested by the system.

void openContextMenu(View view)

Programmatically opens the context menu for a particular view.

void openOptionsMenu()

Programmatically opens the options menu.

void overrideActivityTransition(int overrideType, int enterAnim, int exitAnim, int backgroundColor)

Customizes the animation for the activity transition with this activity.

void overrideActivityTransition(int overrideType, int enterAnim, int exitAnim)

Customizes the animation for the activity transition with this activity.

void overridePendingTransition(int enterAnim, int exitAnim)

This method was deprecated in API level 34. Use overrideActivityTransition(int, int, int)} instead.

void overridePendingTransition(int enterAnim, int exitAnim, int backgroundColor)

This method was deprecated in API level 34. Use overrideActivityTransition(int, int, int, int)} instead.

void postponeEnterTransition()

Postpone the entering activity transition when Activity was started with ActivityOptions.makeSceneTransitionAnimation(Activity, android.util.Pair[]).

void recreate()

Cause this Activity to be recreated with a new instance.

void registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)

Register an Application.ActivityLifecycleCallbacks instance that receives lifecycle callbacks for only this Activity.

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 registerForContextMenu(View view)

Registers a context menu to be shown for the given view (multiple views can show the context menu).

void registerScreenCaptureCallback(Executor executor, Activity.ScreenCaptureCallback callback)

Registers a screen capture callback for this activity.

boolean releaseInstance()

Ask that the local app instance of this activity be released to free up its memory.

final void removeDialog(int id)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

void reportFullyDrawn()

Report to the system that your app is now fully drawn, for diagnostic and optimization purposes.

DragAndDropPermissions requestDragAndDropPermissions(DragEvent event)

Create DragAndDropPermissions object bound to this activity and controlling the access permissions for content URIs associated with the DragEvent.

void requestFullscreenMode(int request, OutcomeReceiver<VoidThrowable> approvalCallback)

Request to put the activity into fullscreen.

final void requestPermissions(String[] permissions, int requestCode, int deviceId)

Requests permissions to be granted to this application.

final void requestPermissions(String[] permissions, int requestCode)

Requests permissions to be granted to this application.

final void requestShowKeyboardShortcuts()

Request the Keyboard Shortcuts screen to show up.

boolean requestVisibleBehind(boolean visible)

This method was deprecated in API level 26. This method's functionality is no longer supported as of Build.VERSION_CODES.O and will be removed in a future release.

final boolean requestWindowFeature(int featureId)

Enable extended window features.

final <T extends View> T requireViewById(int id)

Finds a view that was identified by the android:id XML attribute that was processed in onCreate(Bundle), or throws an IllegalArgumentException if the ID is invalid, or there is no matching view in the hierarchy.

final void runOnUiThread(Runnable action)

Runs the specified action on the UI thread.

void setActionBar(Toolbar toolbar)

Set a Toolbar to act as the ActionBar for this Activity window.

void setAllowCrossUidActivitySwitchFromBelow(boolean allowed)

Specifies whether the activities below this one in the task can also start other activities or finish the task.

void setContentTransitionManager(TransitionManager tm)

Set the TransitionManager to use for default transitions in this window.

void setContentView(View view, ViewGroup.LayoutParams params)

Set the activity content to an explicit view.

void setContentView(View view)

Set the activity content to an explicit view.

void setContentView(int layoutResID)

Set the activity content from a layout resource.

final void setDefaultKeyMode(int mode)

Select the default key handling for this activity.

void setEnterSharedElementCallback(SharedElementCallback callback)

When ActivityOptions.makeSceneTransitionAnimation(Activity, android.view.View, String) was used to start an Activity, callback will be called to handle shared elements on the launched Activity.

void setExitSharedElementCallback(SharedElementCallback callback)

When ActivityOptions.makeSceneTransitionAnimation(Activity, android.view.View, String) was used to start an Activity, callback will be called to handle shared elements on the launching Activity.

final void setFeatureDrawable(int featureId, Drawable drawable)

Convenience for calling Window.setFeatureDrawable(int, Drawable).

final void setFeatureDrawableAlpha(int featureId, int alpha)

Convenience for calling Window.setFeatureDrawableAlpha(int, int).

final void setFeatureDrawableResource(int featureId, int resId)

Convenience for calling Window.setFeatureDrawableResource(int, int).

final void setFeatureDrawableUri(int featureId, Uri uri)

Convenience for calling Window.setFeatureDrawableUri(int, Uri).

void setFinishOnTouchOutside(boolean finish)

Sets whether this activity is finished when touched outside its window's bounds.

void setImmersive(boolean i)

Adjust the current immersive mode setting.

void setInheritShowWhenLocked(boolean inheritShowWhenLocked)

Specifies whether this Activity should be shown on top of the lock screen whenever the lockscreen is up and this activity has another activity behind it with the showWhenLock attribute set.

void setIntent(Intent newIntent)

Changes the intent returned by getIntent().

void setIntent(Intent newIntent, ComponentCaller newCaller)

Changes the intent returned by getIntent(), and ComponentCaller returned by getCaller().

void setLocusContext(LocusId locusId, Bundle bundle)

Sets the LocusId for this activity.

final void setMediaController(MediaController controller)

Sets a MediaController to send media keys and volume changes to.

void setPictureInPictureParams(PictureInPictureParams params)

Updates the properties of the picture-in-picture activity, or sets it to be used later when enterPictureInPictureMode() is called.

final void setProgress(int progress)

This method was deprecated in API level 24. No longer supported starting in API 21.

final void setProgressBarIndeterminate(boolean indeterminate)

This method was deprecated in API level 24. No longer supported starting in API 21.

final void setProgressBarIndeterminateVisibility(boolean visible)

This method was deprecated in API level 24. No longer supported starting in API 21.

final void setProgressBarVisibility(boolean visible)

This method was deprecated in API level 24. No longer supported starting in API 21.

void setRecentsScreenshotEnabled(boolean enabled)

If set to false, this indicates to the system that it should never take a screenshot of the activity to be used as a representation in recents screen.

void setRequestedOrientation(int requestedOrientation)

Change the desired orientation of this activity.

final void setResult(int resultCode, Intent data)

Call this to set the result that your activity will return to its caller.

final void setResult(int resultCode)

Call this to set the result that your activity will return to its caller.

final void setSecondaryProgress(int secondaryProgress)

This method was deprecated in API level 24. No longer supported starting in API 21.

void setShouldDockBigOverlays(boolean shouldDockBigOverlays)

Specifies a preference to dock big overlays like the expanded picture-in-picture on TV (see PictureInPictureParams.Builder.setExpandedAspectRatio).

void setShowWhenLocked(boolean showWhenLocked)

Specifies whether an Activity should be shown on top of the lock screen whenever the lockscreen is up and the activity is resumed.

void setTaskDescription(ActivityManager.TaskDescription taskDescription)

Sets information describing the task with this activity for presentation inside the Recents System UI.

void setTheme(int resid)

Set the base theme for this context.

void setTitle(CharSequence title)

Change the title associated with this activity.

void setTitle(int titleId)

Change the title associated with this activity.

void setTitleColor(int textColor)

This method was deprecated in API level 21. Use action bar styles instead.

boolean setTranslucent(boolean translucent)

Convert an activity, which particularly with R.attr.windowIsTranslucent or R.attr.windowIsFloating attribute, to a fullscreen opaque activity, or convert it from opaque back to translucent.

void setTurnScreenOn(boolean turnScreenOn)

Specifies whether the screen should be turned on when the Activity is resumed.

void setVisible(boolean visible)

Control whether this activity's main window is visible.

final void setVolumeControlStream(int streamType)

Suggests an audio stream whose volume should be changed by the hardware volume controls.

void setVrModeEnabled(boolean enabled, ComponentName requestedComponent)

Enable or disable virtual reality (VR) mode for this Activity.

boolean shouldDockBigOverlays()

Returns whether big overlays should be docked next to the activity as set by setShouldDockBigOverlays(boolean).

boolean shouldShowRequestPermissionRationale(String permission)

Gets whether you should show UI with rationale before requesting a permission.

boolean shouldShowRequestPermissionRationale(String permission, int deviceId)

Gets whether you should show UI with rationale before requesting a permission.

boolean shouldUpRecreateTask(Intent targetIntent)

Returns true if the app should recreate the task when navigating 'up' from this activity by using targetIntent.

boolean showAssist(Bundle args)

Ask to have the current assistant shown to the user.

final boolean showDialog(int id, Bundle args)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

final void showDialog(int id)

This method was deprecated in API level 15. Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.

void showLockTaskEscapeMessage()

Shows the user the system defined message for telling the user how to exit lock task mode.

ActionMode startActionMode(ActionMode.Callback callback, int type)

Start an action mode of the given type.

ActionMode startActionMode(ActionMode.Callback callback)

Start an action mode of the default type ActionMode.TYPE_PRIMARY.

void startActivities(Intent[] intents, Bundle options)

Launch a new activity.

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.

void startActivityForResult(Intent intent, int requestCode)

Same as calling startActivityForResult(android.content.Intent, int, android.os.Bundle) with no options.

void startActivityForResult(Intent intent, int requestCode, Bundle options)

Launch an activity for which you would like a result when it finished.

void startActivityFromChild(Activity child, Intent intent, int requestCode)

This method was deprecated in API level 30. Use androidx.fragment.app.FragmentActivity#startActivityFromFragment( androidx.fragment.app.Fragment,Intent,int)

void startActivityFromChild(Activity child, Intent intent, int requestCode, Bundle options)

This method was deprecated in API level 30. Use androidx.fragment.app.FragmentActivity#startActivityFromFragment( androidx.fragment.app.Fragment,Intent,int,Bundle)

void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode, Bundle options)

This method was deprecated in API level 28. Use androidx.fragment.app.FragmentActivity#startActivityFromFragment( androidx.fragment.app.Fragment,Intent,int,Bundle)

void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode)

This method was deprecated in API level 28. Use androidx.fragment.app.FragmentActivity#startActivityFromFragment( androidx.fragment.app.Fragment,Intent,int)

boolean startActivityIfNeeded(Intent intent, int requestCode, Bundle options)

A special variation to launch an activity only if a new activity instance is needed to handle the given Intent.

boolean startActivityIfNeeded(Intent intent, int requestCode)

Same as calling startActivityIfNeeded(android.content.Intent, int, android.os.Bundle) with no options.

void startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)

Same as calling startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle) with no options.

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; see startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) for more information.

void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)

Same as calling startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) with no options.

void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

Like startActivityForResult(android.content.Intent, int), but allowing you to use a IntentSender to describe the activity to be started.

void startIntentSenderFromChild(Activity child, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

This method was deprecated in API level 30. Use startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) instead.

void startIntentSenderFromChild(Activity child, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)

This method was deprecated in API level 30. Use startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int) instead.

void startLocalVoiceInteraction(Bundle privateOptions)

Starts a local voice interaction session.

void startLockTask()

Request to put this activity in a mode where the user is locked to a restricted set of applications.

void startManagingCursor(Cursor c)

This method was deprecated in API level 15. Use the new CursorLoader class with LoaderManager instead; this is also available on older platforms through the Android compatibility package.

boolean startNextMatchingActivity(Intent intent, Bundle options)

Special version of starting an activity, for use when you are replacing other activity components.

boolean startNextMatchingActivity(Intent intent)

Same as calling startNextMatchingActivity(android.content.Intent, android.os.Bundle) with no options.

void startPostponedEnterTransition()

Begin postponed transitions after postponeEnterTransition() was called.

void startSearch(String initialQuery, boolean selectInitialQuery, Bundle appSearchData, boolean globalSearch)

This hook is called to launch the search UI.

void stopLocalVoiceInteraction()

Request to terminate the current voice interaction that was previously started using startLocalVoiceInteraction(android.os.Bundle).

void stopLockTask()

Stop the current task from being locked.

void stopManagingCursor(Cursor c)

This method was deprecated in API level 15. Use the new CursorLoader class with LoaderManager instead; this is also available on older platforms through the Android compatibility package.

void takeKeyEvents(boolean get)

Request that key events come to this activity.

void triggerSearch(String query, Bundle appSearchData)

Similar to startSearch(String, boolean, Bundle, boolean), but actually fires off the search query after invoking the search dialog.

void unregisterActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)

Unregister an Application.ActivityLifecycleCallbacks previously registered with registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks).

void unregisterComponentCallbacks(ComponentCallbacks callback)

Remove a ComponentCallbacks object that was previously registered with registerComponentCallbacks(android.content.ComponentCallbacks).

void unregisterForContextMenu(View view)

Prevents a context menu to be shown for the given view.

void unregisterScreenCaptureCallback(Activity.ScreenCaptureCallback callback)

Unregisters a screen capture callback for this surface.

void applyOverrideConfiguration(Configuration overrideConfiguration)

Call to set an "override configuration" on this context -- this is a configuration that replies one or more values of the standard configuration that is applied to the context.

void attachBaseContext(Context newBase)

Set the base context for this ContextWrapper.

AssetManager getAssets()

Returns an AssetManager instance for the application's package.

Resources getResources()

Returns a Resources instance for the application's package.

Object getSystemService(String name)

Return the handle to a system-level service by name.

Resources.Theme getTheme()

Return the Theme object associated with this Context.

void onApplyThemeResource(Resources.Theme theme, int resId, boolean first)

Called by setTheme(Theme) and getTheme() to apply a theme resource to the current Theme object.

void setTheme(Resources.Theme theme)

Set the configure the current theme.

void setTheme(int resid)

Set the base theme for this context.

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.

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.

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.

abstract 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.

abstract boolean onKeyDown(int keyCode, KeyEvent event)

Called when a key down event has occurred.

abstract boolean onKeyLongPress(int keyCode, KeyEvent event)

Called when a long press has occurred.

abstract boolean onKeyMultiple(int keyCode, int count, KeyEvent event)

Called when a user's interaction with an analog control, such as flinging a trackball, generates simulated down/up events for the same key multiple times in quick succession.

abstract boolean onKeyUp(int keyCode, KeyEvent event)

Called when a key up event has occurred.

abstract View onCreateView(View parent, String name, Context context, AttributeSet attrs)

Version of LayoutInflater.Factory.onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet) that also supplies the parent that the view created view will be placed in.

abstract void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

Called when the context menu for this view is being built.

abstract boolean dispatchGenericMotionEvent(MotionEvent event)

Called to process generic motion events.

abstract boolean dispatchKeyEvent(KeyEvent event)

Called to process key events.

abstract boolean dispatchKeyShortcutEvent(KeyEvent event)

Called to process a key shortcut event.

abstract boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)

Called to process population of AccessibilityEvents.

abstract boolean dispatchTouchEvent(MotionEvent event)

Called to process touch screen events.

abstract boolean dispatchTrackballEvent(MotionEvent event)

Called to process trackball events.

abstract void onActionModeFinished(ActionMode mode)

Called when an action mode has been finished.

abstract void onActionModeStarted(ActionMode mode)

Called when an action mode has been started.

abstract void onAttachedToWindow()

Called when the window has been attached to the window manager.

abstract void onContentChanged()

This hook is called whenever the content view of the screen changes (due to a call to Window.setContentView or Window.addContentView).

abstract boolean onCreatePanelMenu(int featureId, Menu menu)

Initialize the contents of the menu for panel 'featureId'.

abstract View onCreatePanelView(int featureId)

Instantiate the view to display in the panel for 'featureId'.

abstract void onDetachedFromWindow()

Called when the window has been detached from the window manager.

abstract boolean onMenuItemSelected(int featureId, MenuItem item)

Called when a panel's menu item has been selected by the user.

abstract boolean onMenuOpened(int featureId, Menu menu)

Called when a panel's menu is opened by the user.

abstract void onPanelClosed(int featureId, Menu menu)

Called when a panel is being closed.

default void onPointerCaptureChanged(boolean hasCapture)

Called when pointer capture is enabled or disabled for the current window.

abstract boolean onPreparePanel(int featureId, View view, Menu menu)

Prepare a panel to be displayed.

default void onProvideKeyboardShortcuts(List<KeyboardShortcutGroup> data, Menu menu, int deviceId)

Called when Keyboard Shortcuts are requested for the current window.

abstract boolean onSearchRequested()

Called when the user signals the desire to start a search.

abstract boolean onSearchRequested(SearchEvent searchEvent)

Called when the user signals the desire to start a search.

abstract void onWindowAttributesChanged(WindowManager.LayoutParams attrs)

This is called whenever the current window attributes change.

abstract void onWindowFocusChanged(boolean hasFocus)

This hook is called whenever the window focus changes.

abstract ActionMode onWindowStartingActionMode(ActionMode.Callback callback)

Called when an action mode is being started for this window.

abstract ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type)

Called when an action mode is being started for this window.

abstract void onInputQueueCreated(InputQueue queue)

Called when the given InputQueue is now associated with the thread making this call, so it can start receiving events from it.

abstract void onInputQueueDestroyed(InputQueue queue)

Called when the given InputQueue is no longer associated with the thread and thus not dispatching events.

abstract void surfaceRedrawNeeded(SurfaceHolder holder)

Called when the application needs to redraw the content of its surface, after it is resized or for some other reason.

default void surfaceRedrawNeededAsync(SurfaceHolder holder, Runnable drawingFinished)

An alternative to surfaceRedrawNeeded where it is not required to block until the redraw is complete.

abstract void onGlobalLayout()

Callback method to be invoked when the global layout state or the visibility of views within the view tree changes

abstract void onConfigurationChanged(Configuration newConfig)

Called by the system when the device configuration changes while your component is running.

abstract void onLowMemory()

This method was deprecated in API level 35. Since API level 14 this is superseded by ComponentCallbacks2.onTrimMemory. Since API level 34 this is never called. If you're overriding ComponentCallbacks2#onTrimMemory and your minSdkVersion is greater than API 14, you can provide an empty implementation for this method.

abstract View onCreateView(String name, Context context, AttributeSet attrs)

Hook you can supply that is called when inflating from a LayoutInflater.

abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height)

This is called immediately after any structural changes (format or size) have been made to the surface.

abstract void surfaceCreated(SurfaceHolder holder)

This is called immediately after the surface is first created.

abstract void surfaceDestroyed(SurfaceHolder holder)

This is called immediately before a surface is being destroyed.

Constants

META_DATA_FUNC_NAME

Added in API level 9
public static final String META_DATA_FUNC_NAME

Optional meta-that can be in the manifest for this component, specifying the name of the main entry point for this native activity in the META_DATA_LIB_NAME native code. If not specified, "ANativeActivity_onCreate" is used.

Constant Value: "android.app.func_name"

META_DATA_LIB_NAME

Added in API level 9
public static final String META_DATA_LIB_NAME

Optional meta-that can be in the manifest for this component, specifying the name of the native shared library to load. If not specified, "main" is used.

Constant Value: "android.app.lib_name"

Public constructors

NativeActivity

public NativeActivity ()

Public methods

onConfigurationChanged

Added in API level 9
public void onConfigurationChanged (Configuration newConfig)

Called by the system when the device configuration changes while your activity is running. Note that this will only be called if you have selected configurations you would like to handle with the R.attr.configChanges attribute in your manifest. If any configuration change occurs that is not selected to be reported by that attribute, then instead of reporting it the system will stop and restart the activity (to have it launched with the new configuration). The only exception is if a size-based configuration is not large enough to be considered significant, in which case the system will not recreate the activity and will instead call this method. For details on this see the documentation on size-based config change.

At the time that this function has been called, your Resources object will have been updated to return resource values matching the new configuration.

Parameters
newConfig Configuration: The new device configuration. This value cannot be null.

onGlobalLayout

Added in API level 9
public void onGlobalLayout ()

Callback method to be invoked when the global layout state or the visibility of views within the view tree changes

onInputQueueCreated

Added in API level 9
public void onInputQueueCreated (InputQueue queue)

Called when the given InputQueue is now associated with the thread making this call, so it can start receiving events from it.

Parameters
queue InputQueue

onInputQueueDestroyed

Added in API level 9
public void onInputQueueDestroyed (InputQueue queue)

Called when the given InputQueue is no longer associated with the thread and thus not dispatching events.

Parameters
queue InputQueue

onLowMemory

Added in API level 9
public void onLowMemory ()

This is called when the overall system is running low on memory, and actively running processes should trim their memory usage. While the exact point at which this will be called is not defined, generally it will happen when all background process have been killed. That is, before reaching the point of killing processes hosting service and foreground UI that we would like to avoid killing.

onWindowFocusChanged

Added in API level 9
public void onWindowFocusChanged (boolean hasFocus)

Called when the current Window of the activity gains or loses focus. This is the best indicator of whether this activity is the entity with which the user actively interacts. The default implementation clears the key tracking state, so should always be called.

Note that this provides information about global focus state, which is managed independently of activity lifecycle. As such, while focus changes will generally have some relation to lifecycle changes (an activity that is stopped will not generally get window focus), you should not rely on any particular order between the callbacks here and those in the other lifecycle methods such as onResume().

As a general rule, however, a foreground activity will have window focus... unless it has displayed other dialogs or popups that take input focus, in which case the activity itself will not have focus when the other windows have it. Likewise, the system may display system-level windows (such as the status bar notification panel or a system alert) which will temporarily take window input focus without pausing the foreground activity.

Starting with Build.VERSION_CODES.Q there can be multiple resumed activities at the same time in multi-window mode, so resumed state does not guarantee window focus even if there are no overlays above.

If the intent is to know when an activity is the topmost active, the one the user interacted with last among all activities but not including non-activity windows like dialogs and popups, then onTopResumedActivityChanged(boolean) should be used. On platform versions prior to Build.VERSION_CODES.Q, onResume() is the best indicator.

Parameters
hasFocus boolean: Whether the window of this activity has focus.

surfaceChanged

Added in API level 9
public void surfaceChanged (SurfaceHolder holder, 
                int format, 
                int width, 
                int height)

This is called immediately after any structural changes (format or size) have been made to the surface. You should at this point update the imagery in the surface. This method is always called at least once, after surfaceCreated(SurfaceHolder).

Parameters
holder SurfaceHolder: The SurfaceHolder whose surface has changed. This value cannot be null.

format int: The new PixelFormat of the surface. Value is PixelFormat.RGBA_8888, PixelFormat.RGBX_8888, PixelFormat.RGBA_F16, PixelFormat.RGBA_1010102, PixelFormat.RGB_888, PixelFormat.RGB_565, or android.graphics.PixelFormat.R_8

width int: The new width of the surface. Value is 0 or greater

height int: The new height of the surface. Value is 0 or greater

surfaceCreated

Added in API level 9
public void surfaceCreated (SurfaceHolder holder)

This is called immediately after the surface is first created. Implementations of this should start up whatever rendering code they desire. Note that only one thread can ever draw into a Surface, so you should not draw into the Surface here if your normal rendering will be in another thread.

Parameters
holder SurfaceHolder: The SurfaceHolder whose surface is being created. This value cannot be null.

surfaceDestroyed

Added in API level 9
public void surfaceDestroyed (SurfaceHolder holder)

This is called immediately before a surface is being destroyed. After returning from this call, you should no longer try to access this surface. If you have a rendering thread that directly accesses the surface, you must ensure that thread is no longer touching the Surface before returning from this function.

Parameters
holder SurfaceHolder: The SurfaceHolder whose surface is being destroyed. This value cannot be null.

surfaceRedrawNeeded

Added in API level 9
public void surfaceRedrawNeeded (SurfaceHolder holder)

Called when the application needs to redraw the content of its surface, after it is resized or for some other reason. By not returning from here until the redraw is complete, you can ensure that the user will not see your surface in a bad state (at its new size before it has been correctly drawn that way). This will typically be preceeded by a call to SurfaceHolder.Callback.surfaceChanged(SurfaceHolder, int, int, int). As of O, surfaceRedrawNeededAsync(SurfaceHolder, Runnable) may be implemented to provide a non-blocking implementation. If surfaceRedrawNeededAsync(SurfaceHolder, Runnable) is not implemented, then this will be called instead.

Parameters
holder SurfaceHolder: The SurfaceHolder whose surface has changed. This value cannot be null.

Protected methods

onCreate

Added in API level 9
protected void onCreate (Bundle savedInstanceState)

Called when the activity is starting. This is where most initialization should go: calling setContentView(int) to inflate the activity's UI, using findViewById(int) to programmatically interact with widgets in the UI, calling managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) to retrieve cursors for data being displayed, etc.

You can call finish() from within this function, in which case onDestroy() will be immediately called after onCreate(Bundle) without any of the rest of the activity lifecycle (onStart(), onResume(), onPause(), etc) executing.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


This method must be called from the main thread of your app.
If you override this method you must call through to the superclass implementation.

Parameters
savedInstanceState Bundle: If the activity is being re-initialized after previously being shut down then this Bundle contains the data it most recently supplied in onSaveInstanceState(Bundle). Note: Otherwise it is null.

onDestroy

Added in API level 9
protected void onDestroy ()

Perform any final cleanup before an activity is destroyed. This can happen either because the activity is finishing (someone called finish() on it), or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the isFinishing() method.

Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either onPause() or onSaveInstanceState(Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


If you override this method you must call through to the superclass implementation.

onPause

Added in API level 9
protected void onPause ()

Called as part of the activity lifecycle when the user no longer actively interacts with the activity, but it is still visible on screen. The counterpart to onResume().

When activity B is launched in front of activity A, this callback will be invoked on A. B will not be created until A's onPause() returns, so be sure to not do anything lengthy here.

This callback is mostly used for saving any persistent state the activity is editing, to present a "edit in place" model to the user and making sure nothing is lost if there are not enough resources to start the new activity without first killing this one. This is also a good place to stop things that consume a noticeable amount of CPU in order to make the switch to the next activity as fast as possible.

On platform versions prior to Build.VERSION_CODES.Q this is also a good place to try to close exclusive-access devices or to release access to singleton resources. Starting with Build.VERSION_CODES.Q there can be multiple resumed activities in the system at the same time, so onTopResumedActivityChanged(boolean) should be used for that purpose instead.

If an activity is launched on top, after receiving this call you will usually receive a following call to onStop() (after the next activity has been resumed and displayed above). However in some cases there will be a direct call back to onResume() without going through the stopped state. An activity can also rest in paused state in some cases when in multi-window mode, still visible to user.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


If you override this method you must call through to the superclass implementation.

onResume

Added in API level 9
protected void onResume ()

Called after onRestoreInstanceState(Bundle), onRestart(), or onPause(). This is usually a hint for your activity to start interacting with the user, which is a good indicator that the activity became active and ready to receive input. This sometimes could also be a transit state toward another resting state. For instance, an activity may be relaunched to onPause() due to configuration changes and the activity was visible, but wasn't the top-most activity of an activity task. onResume() is guaranteed to be called before onPause() in this case which honors the activity lifecycle policy and the activity eventually rests in onPause().

On platform versions prior to Build.VERSION_CODES.Q this is also a good place to try to open exclusive-access devices or to get access to singleton resources. Starting with Build.VERSION_CODES.Q there can be multiple resumed activities in the system simultaneously, so onTopResumedActivityChanged(boolean) should be used for that purpose instead.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


If you override this method you must call through to the superclass implementation.

onSaveInstanceState

Added in API level 9
protected void onSaveInstanceState (Bundle outState)

Called to retrieve per-instance state from an activity before being killed so that the state can be restored in onCreate(Bundle) or onRestoreInstanceState(Bundle) (the Bundle populated by this method will be passed to both).

This method is called before an activity may be killed so that when it comes back some time in the future it can restore its state. For example, if activity B is launched in front of activity A, and at some point activity A is killed to reclaim resources, activity A will have a chance to save the current state of its user interface via this method so that when the user returns to activity A, the state of the user interface can be restored via onCreate(Bundle) or onRestoreInstanceState(Bundle).

Do not confuse this method with activity lifecycle callbacks such as onPause(), which is always called when the user no longer actively interacts with an activity, or onStop() which is called when activity becomes invisible. One example of when onPause() and onStop() is called and not this method is when a user navigates back from activity B to activity A: there is no need to call onSaveInstanceState(Bundle) on B because that particular instance will never be restored, so the system avoids calling it. An example when onPause() is called and not onSaveInstanceState(Bundle) is when activity B is launched in front of activity A: the system may avoid calling onSaveInstanceState(Bundle) on activity A if it isn't killed during the lifetime of B since the state of the user interface of A will stay intact.

The default implementation takes care of most of the UI per-instance state for you by calling View.onSaveInstanceState() on each view in the hierarchy that has an id, and by saving the id of the currently focused view (all of which is restored by the default implementation of onRestoreInstanceState(Bundle)). If you override this method to save additional information not captured by each individual view, you will likely want to call through to the default implementation, otherwise be prepared to save all of the state of each view yourself.

If called, this method will occur after onStop() for applications targeting platforms starting with Build.VERSION_CODES.P. For applications targeting earlier platform versions this method will occur before onStop() and there are no guarantees about whether it will occur before or after onPause().

Parameters
outState Bundle: Bundle in which to place your saved state. This value cannot be null.

onStart

Added in API level 9
protected void onStart ()

Called after onCreate(Bundle) — or after onRestart() when the activity had been stopped, but is now again being displayed to the user. It will usually be followed by onResume(). This is a good place to begin drawing visual elements, running animations, etc.

You can call finish() from within this function, in which case onStop() will be immediately called after onStart() without the lifecycle transitions in-between (onResume(), onPause(), etc) executing.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


If you override this method you must call through to the superclass implementation.

onStop

Added in API level 9
protected void onStop ()

Called when you are no longer visible to the user. You will next receive either onRestart(), onDestroy(), or nothing, depending on later user activity. This is a good place to stop refreshing UI, running animations and other visual things.

Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.


If you override this method you must call through to the superclass implementation.