Added in API level 1

MockContext


open class MockContext : Context
kotlin.Any
   ↳ android.content.Context
   ↳ android.test.mock.MockContext

A mock android.content.Context class. All methods are non-functional and throw java.lang.UnsupportedOperationException. You can use this to inject other dependencies, mocks, or monitors into the classes you are testing.

Summary

Inherited constants
Public constructors

Public methods
open Boolean
bindIsolatedService(service: Intent, flags: Int, instanceName: String, executor: Executor, conn: ServiceConnection)

open Boolean
bindService(service: Intent, conn: ServiceConnection, flags: Int)

open Boolean
bindService(service: Intent, flags: Int, executor: Executor, conn: ServiceConnection)

open Int

open Int

open Int

open Int
checkCallingUriPermission(uri: Uri!, modeFlags: Int)

open Int
checkPermission(permission: String, pid: Int, uid: Int)

open Int

open Int
checkUriPermission(uri: Uri!, pid: Int, uid: Int, modeFlags: Int)

open Int
checkUriPermission(uri: Uri?, readPermission: String?, writePermission: String?, pid: Int, uid: Int, modeFlags: Int)

open Unit

open Context!
createConfigurationContext(overrideConfiguration: Configuration)

open Context

Returns a new Context object from the current context but with device association given by the deviceId.

open Context!

open Context!

open Context!
createPackageContext(packageName: String!, flags: Int)

open Context
createWindowContext(display: Display, type: Int, options: Bundle?)

Creates a Context for a non-activity window on the given Display.

open Context
createWindowContext(type: Int, options: Bundle?)

Creates a Context for a non-activity window.

open Array<String!>!

open Boolean

open Boolean

open Boolean

open Unit
enforceCallingOrSelfPermission(permission: String, message: String?)

open Unit
enforceCallingOrSelfUriPermission(uri: Uri!, modeFlags: Int, message: String!)

open Unit
enforceCallingPermission(permission: String, message: String?)

open Unit
enforceCallingUriPermission(uri: Uri!, modeFlags: Int, message: String!)

open Unit
enforcePermission(permission: String, pid: Int, uid: Int, message: String?)

open Unit
enforceUriPermission(uri: Uri!, pid: Int, uid: Int, modeFlags: Int, message: String!)

open Unit
enforceUriPermission(uri: Uri?, readPermission: String?, writePermission: String?, pid: Int, uid: Int, modeFlags: Int, message: String?)

open Array<String!>!

open Context!

open ApplicationInfo!

open AssetManager!

open File!

open ClassLoader!

open File!

open ContentResolver!

open File!

open File!

open Int

open File!
getDir(name: String!, mode: Int)

open Display

open File?

open Array<File!>!

open File?

open Array<File!>!

open Array<File!>!

open File!

open File!

open Executor!

open Looper!

open File!

open File!

open Array<File!>!

open String!

open PackageManager!

open String!

open String!

open Resources!

open SharedPreferences!

open Any!

open String?
getSystemServiceName(serviceClass: Class<*>)

open Resources.Theme!

open Drawable!

open Int

open Int

open Unit
grantUriPermission(toPackage: String!, uri: Uri!, modeFlags: Int)

open Boolean

open Boolean

open Boolean

{@hide}

open Boolean
moveDatabaseFrom(sourceContext: Context!, name: String!)

open Boolean
moveSharedPreferencesFrom(sourceContext: Context!, name: String!)

open FileInputStream!

open FileOutputStream!
openFileOutput(name: String!, mode: Int)

open SQLiteDatabase!

open SQLiteDatabase!

open Drawable!

open Intent?

open Intent?
registerReceiver(receiver: BroadcastReceiver?, filter: IntentFilter!, flags: Int)

open Intent?
registerReceiver(receiver: BroadcastReceiver!, filter: IntentFilter!, broadcastPermission: String?, scheduler: Handler?)

open Intent?
registerReceiver(receiver: BroadcastReceiver!, filter: IntentFilter!, broadcastPermission: String?, scheduler: Handler?, flags: Int)

open Unit

open Unit

open Unit
revokeUriPermission(uri: Uri!, modeFlags: Int)

open Unit
revokeUriPermission(targetPackage: String!, uri: Uri!, modeFlags: Int)

open Unit

open Unit
sendBroadcast(intent: Intent!, receiverPermission: String?)

open Unit

open Unit
sendBroadcastAsUser(intent: Intent!, user: UserHandle!, receiverPermission: String?)

open Unit
sendOrderedBroadcast(intent: Intent!, receiverPermission: String?)

open Unit
sendOrderedBroadcast(intent: Intent, receiverPermission: String?, resultReceiver: BroadcastReceiver?, scheduler: Handler?, initialCode: Int, initialData: String?, initialExtras: Bundle?)

open Unit
sendOrderedBroadcast(intent: Intent, receiverPermission: String?, receiverAppOp: String?, resultReceiver: BroadcastReceiver?, scheduler: Handler?, initialCode: Int, initialData: String?, initialExtras: Bundle?)

open Unit
sendOrderedBroadcastAsUser(intent: Intent!, user: UserHandle!, receiverPermission: String?, resultReceiver: BroadcastReceiver!, scheduler: Handler?, initialCode: Int, initialData: String?, initialExtras: Bundle?)

open Unit

open Unit
sendStickyBroadcast(intent: Intent, options: Bundle?)

open Unit

open Unit
sendStickyOrderedBroadcast(intent: Intent!, resultReceiver: BroadcastReceiver!, scheduler: Handler?, initialCode: Int, initialData: String?, initialExtras: Bundle?)

open Unit
sendStickyOrderedBroadcastAsUser(intent: Intent!, user: UserHandle!, resultReceiver: BroadcastReceiver!, scheduler: Handler?, initialCode: Int, initialData: String?, initialExtras: Bundle?)

open Unit
setTheme(resid: Int)

open Unit
setWallpaper(bitmap: Bitmap!)

open Unit

open Unit

open Unit
startActivities(intents: Array<Intent!>!, options: Bundle!)

open Unit

open Unit
startActivity(intent: Intent!, options: Bundle?)

open ComponentName?

open Boolean
startInstrumentation(className: ComponentName, profileFile: String?, arguments: Bundle?)

open Unit
startIntentSender(intent: IntentSender!, fillInIntent: Intent?, flagsMask: Int, flagsValues: Int, extraFlags: Int)

open Unit
startIntentSender(intent: IntentSender!, fillInIntent: Intent?, flagsMask: Int, flagsValues: Int, extraFlags: Int, options: Bundle?)

open ComponentName?
startService(service: Intent!)

open Boolean
stopService(service: Intent!)

open Unit

open Unit

open Unit
updateServiceGroup(conn: ServiceConnection, group: Int, importance: Int)

Inherited functions

Public constructors

MockContext

MockContext()

Public methods

bindIsolatedService

Added in API level 29
open fun bindIsolatedService(
    service: Intent,
    flags: Int,
    instanceName: String,
    executor: Executor,
    conn: ServiceConnection
): Boolean
Parameters
service Intent: Identifies the service to connect to. The Intent must specify an explicit component name. This value cannot be null.
flags Int: Operation options for the binding as per #bindService.
instanceName String: Unique identifier for the service instance. Each unique name here will result in a different service instance being created. Identifiers must only contain ASCII letters, digits, underscores, and periods. This value cannot be null.
executor Executor: Callbacks on ServiceConnection will be called on executor. Must use same instance for the same instance of ServiceConnection. This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.
conn ServiceConnection: Receives information as the service is started and stopped. This must be a valid ServiceConnection object; it must not be null.
Return
Boolean Returns success of binding as per #bindService.
Exceptions
java.lang.SecurityException If the caller does not have permission to access the service
java.lang.IllegalArgumentException If the instanceName is invalid.

bindService

Added in API level 1
open fun bindService(
    service: Intent,
    conn: ServiceConnection,
    flags: Int
): Boolean
Parameters
service Intent: Identifies the service to connect to. The Intent must specify an explicit component name. This value cannot be null.
conn ServiceConnection: Receives information as the service is started and stopped. This must be a valid ServiceConnection object; it must not be null.
flags Int: Operation options for the binding. Can be:
Return
Boolean true if the system is in the process of bringing up a service that your client has permission to bind to; false if the system couldn't find the service or if your client doesn't have permission to bind to it. Regardless of the return value, you should later call unbindService to release the connection.
Exceptions
java.lang.SecurityException If the caller does not have permission to access the service or the service cannot be found. Call unbindService to release the connection when this exception is thrown.

bindService

Added in API level 29
open fun bindService(
    service: Intent,
    flags: Int,
    executor: Executor,
    conn: ServiceConnection
): Boolean
Parameters
executor Executor: Callbacks on ServiceConnection will be called on executor. Must use same instance for the same instance of ServiceConnection. This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.
service Intent: This value cannot be null.
flags Int: Value is either 0 or a combination of android.content.Context#BIND_AUTO_CREATE, android.content.Context#BIND_DEBUG_UNBIND, android.content.Context#BIND_NOT_FOREGROUND, android.content.Context#BIND_ABOVE_CLIENT, android.content.Context#BIND_ALLOW_OOM_MANAGEMENT, android.content.Context#BIND_WAIVE_PRIORITY, android.content.Context#BIND_IMPORTANT, android.content.Context#BIND_ADJUST_WITH_ACTIVITY, android.content.Context#BIND_NOT_PERCEPTIBLE, android.content.Context#BIND_ALLOW_ACTIVITY_STARTS, android.content.Context#BIND_INCLUDE_CAPABILITIES, android.content.Context#BIND_SHARED_ISOLATED_PROCESS, android.content.Context#BIND_PACKAGE_ISOLATED_PROCESS, and android.content.Context#BIND_EXTERNAL_SERVICE
conn ServiceConnection: This value cannot be null.
Return
Boolean The result of the binding as described in bindService(Intent, ServiceConnection, int).

checkCallingOrSelfPermission

Added in API level 1
open fun checkCallingOrSelfPermission(permission: String): Int
Parameters
permission String: The name of the permission being checked. This value cannot be null.
Return
Int PackageManager.PERMISSION_GRANTED if the calling pid/uid is allowed that permission, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkCallingOrSelfUriPermission

Added in API level 1
open fun checkCallingOrSelfUriPermission(
    uri: Uri!,
    modeFlags: Int
): Int
Parameters
uri Uri!: The uri that is being checked.
modeFlags Int: The access modes to check. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
Return
Int PackageManager.PERMISSION_GRANTED if the caller is allowed to access that uri, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkCallingPermission

Added in API level 1
open fun checkCallingPermission(permission: String): Int
Parameters
permission String: The name of the permission being checked. This value cannot be null.
Return
Int PackageManager.PERMISSION_GRANTED if the calling pid/uid is allowed that permission, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkCallingUriPermission

Added in API level 1
open fun checkCallingUriPermission(
    uri: Uri!,
    modeFlags: Int
): Int
Parameters
uri Uri!: The uri that is being checked.
modeFlags Int: The access modes to check. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
Return
Int PackageManager.PERMISSION_GRANTED if the caller is allowed to access that uri, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkPermission

Added in API level 1
open fun checkPermission(
    permission: String,
    pid: Int,
    uid: Int
): Int
Parameters
permission String: The name of the permission being checked. This value cannot be null.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
Return
Int PackageManager.PERMISSION_GRANTED if the given pid/uid is allowed that permission, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkSelfPermission

Added in API level 23
open fun checkSelfPermission(permission: String): Int
Parameters
permission String: The name of the permission being checked. This value cannot be null.
Return
Int PackageManager.PERMISSION_GRANTED if you have the permission, or PackageManager.PERMISSION_DENIED if not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkUriPermission

Added in API level 1
open fun checkUriPermission(
    uri: Uri!,
    pid: Int,
    uid: Int,
    modeFlags: Int
): Int
Parameters
uri Uri!: The uri that is being checked.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
modeFlags Int: The access modes to check. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
Return
Int PackageManager.PERMISSION_GRANTED if the given pid/uid is allowed to access that uri, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkUriPermission

Added in API level 1
open fun checkUriPermission(
    uri: Uri?,
    readPermission: String?,
    writePermission: String?,
    pid: Int,
    uid: Int,
    modeFlags: Int
): Int
Parameters
uri Uri?: The Uri whose permission is to be checked, or null to not do this check.
readPermission String?: The permission that provides overall read access, or null to not do this check.
writePermission String?: The permission that provides overall write access, or null to not do this check.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
modeFlags Int: The access modes to check. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
Return
Int PackageManager.PERMISSION_GRANTED if the caller is allowed to access that uri or holds one of the given permissions, or PackageManager.PERMISSION_DENIED if it is not. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

clearWallpaper

Added in API level 1
open fun clearWallpaper(): Unit

createConfigurationContext

Added in API level 17
open fun createConfigurationContext(overrideConfiguration: Configuration): Context!
Parameters
overrideConfiguration Configuration: A Configuration specifying what values to modify in the base Configuration of the original Context's resources. If the base configuration changes (such as due to an orientation change), the resources of this context will also change except for those that have been explicitly overridden with a value here. This value cannot be null.
Return
Context! A Context with the given configuration override.

createDeviceContext

Added in API level 34
open fun createDeviceContext(deviceId: Int): Context

Returns a new Context object from the current context but with device association given by the deviceId. Each call to this method returns a new instance of a context object. Context objects are not shared; however, common state (such as the ClassLoader and other resources for the same configuration) can be shared, so the Context itself is lightweight.

Applications that run on virtual devices may use this method to access the default device capabilities and functionality (by passing Context.DEVICE_ID_DEFAULT. Similarly, applications running on the default device may access the functionality of virtual devices.

Note that the newly created instance will be associated with the same display as the parent Context, regardless of the device ID passed here.

Parameters
deviceId Int: The ID of the device to associate with this context.
Return
Context This value cannot be null.
Exceptions
java.lang.IllegalArgumentException if the given device ID is not a valid ID of the default device or a virtual device.

createDeviceProtectedStorageContext

Added in API level 24
open fun createDeviceProtectedStorageContext(): Context!

createDisplayContext

Added in API level 17
open fun createDisplayContext(display: Display): Context!
Parameters
display Display: The display to which the current context's resources are adjusted. This value cannot be null.
Return
Context! A context for the display.

createPackageContext

Added in API level 1
open fun createPackageContext(
    packageName: String!,
    flags: Int
): Context!
Parameters
packageName String!: Name of the application's package.
flags Int: Option flags. Value is either 0 or a combination of android.content.Context#CONTEXT_INCLUDE_CODE, android.content.Context#CONTEXT_IGNORE_SECURITY, android.content.Context#CONTEXT_RESTRICTED, android.content.Context.CONTEXT_DEVICE_PROTECTED_STORAGE, android.content.Context.CONTEXT_CREDENTIAL_PROTECTED_STORAGE, and android.content.Context.CONTEXT_REGISTER_PACKAGE
Return
Context! A Context for the application.
Exceptions
java.lang.SecurityException  
android.content.pm.PackageManager.NameNotFoundException if there is no application with the given package name.

createWindowContext

Added in API level 31
open fun createWindowContext(
    display: Display,
    type: Int,
    options: Bundle?
): Context

Creates a Context for a non-activity window on the given Display.

Similar to createWindowContext(int,android.os.Bundle), but the display is passed in, instead of implicitly using the original Context's Display.

Parameters
display Display: The Display to associate with This value cannot be null.
type Int: Window type in WindowManager.LayoutParams Value is android.view.WindowManager.LayoutParams#TYPE_BASE_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_STARTING, android.view.WindowManager.LayoutParams#TYPE_DRAWN_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_PANEL, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_MEDIA, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_SUB_PANEL, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_ATTACHED_DIALOG, android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_APPLICATION_ABOVE_SUB_PANEL, android.view.WindowManager.LayoutParams#TYPE_STATUS_BAR, android.view.WindowManager.LayoutParams#TYPE_SEARCH_BAR, android.view.WindowManager.LayoutParams#TYPE_PHONE, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT, android.view.WindowManager.LayoutParams.TYPE_KEYGUARD, android.view.WindowManager.LayoutParams#TYPE_TOAST, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_OVERLAY, android.view.WindowManager.LayoutParams#TYPE_PRIORITY_PHONE, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_DIALOG, android.view.WindowManager.LayoutParams#TYPE_KEYGUARD_DIALOG, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ERROR, android.view.WindowManager.LayoutParams#TYPE_INPUT_METHOD, android.view.WindowManager.LayoutParams#TYPE_INPUT_METHOD_DIALOG, android.view.WindowManager.LayoutParams#TYPE_WALLPAPER, android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL, android.view.WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_DRAG, android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL, android.view.WindowManager.LayoutParams.TYPE_POINTER, android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR, android.view.WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_BOOT_PROGRESS, android.view.WindowManager.LayoutParams.TYPE_INPUT_CONSUMER, android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, android.view.WindowManager.LayoutParams.TYPE_DISPLAY_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY, android.view.WindowManager.LayoutParams#TYPE_PRIVATE_PRESENTATION, android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION, android.view.WindowManager.LayoutParams#TYPE_ACCESSIBILITY_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION_STARTING, android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER, android.view.WindowManager.LayoutParams.TYPE_QS_DIALOG, android.view.WindowManager.LayoutParams.TYPE_SCREENSHOT, android.view.WindowManager.LayoutParams.TYPE_PRESENTATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE, or android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_ADDITIONAL
options Bundle?: A bundle used to pass window-related options. This value may be null.
Return
Context This value cannot be null.
Exceptions
java.lang.IllegalArgumentException if the Display is null.

createWindowContext

Added in API level 30
open fun createWindowContext(
    type: Int,
    options: Bundle?
): Context

Creates a Context for a non-activity window.

A window context is a context that can be used to add non-activity windows, such as android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY. A window context must be created from a context that has an associated Display, such as Activity or a context created with createDisplayContext(android.view.Display).

The window context is created with the appropriate Configuration for the area of the display that the windows created with it can occupy; it must be used when inflating views, such that they can be inflated with proper Resources. Below is a sample code to add an application overlay window on the primary display:

...
  final DisplayManager dm = anyContext.getSystemService(DisplayManager.class);
  final Display primaryDisplay = dm.getDisplay(DEFAULT_DISPLAY);
  final Context windowContext = anyContext.createDisplayContext(primaryDisplay)
          .createWindowContext(TYPE_APPLICATION_OVERLAY, null);
  final View overlayView = Inflater.from(windowContext).inflate(someLayoutXml, null);
 
  // WindowManager.LayoutParams initialization
  ...
  // The types used in addView and createWindowContext must match.
  mParams.type = TYPE_APPLICATION_OVERLAY;
  ...
 
  windowContext.getSystemService(WindowManager.class).addView(overlayView, mParams);
  

This context's configuration and resources are adjusted to an area of the display where the windows with provided type will be added. Note that all windows associated with the same context will have an affinity and can only be moved together between different displays or areas on a display. If there is a need to add different window types, or non-associated windows, separate Contexts should be used.

Creating a window context is an expensive operation. Misuse of this API may lead to a huge performance drop. The best practice is to use the same window context when possible. An approach is to create one window context with specific window type and display and use it everywhere it's needed.

After Build.VERSION_CODES.S, window context provides the capability to receive configuration changes for existing token by overriding the token of the android.view.WindowManager.LayoutParams passed in WindowManager.addView(View, LayoutParams). This is useful when an application needs to attach its window to an existing activity for window token sharing use-case.

Note that the window context in Build.VERSION_CODES.R didn't have this capability. This is a no-op for the window context in Build.VERSION_CODES.R.

Below is sample code to attach an existing token to a window context:
final DisplayManager dm = anyContext.getSystemService(DisplayManager.class);
  final Display primaryDisplay = dm.getDisplay(DEFAULT_DISPLAY);
  final Context windowContext = anyContext.createWindowContext(primaryDisplay,
          TYPE_APPLICATION, null);
 
  // Get an existing token.
  final IBinder existingToken = activity.getWindow().getAttributes().token;
 
  // The types used in addView() and createWindowContext() must match.
  final WindowManager.LayoutParams params = new WindowManager.LayoutParams(TYPE_APPLICATION);
  params.token = existingToken;
 
  // After WindowManager#addView(), the server side will extract the provided token from
  // LayoutParams#token (existingToken in the sample code), and switch to propagate
  // configuration changes from the node associated with the provided token.
  windowContext.getSystemService(WindowManager.class).addView(overlayView, mParams);
  

After Build.VERSION_CODES.S, window context provides the capability to listen to its Configuration changes by calling registerComponentCallbacks(android.content.ComponentCallbacks), while other kinds of Context will register the ComponentCallbacks to its. Note that window context only propagate ComponentCallbacks.onConfigurationChanged(Configuration) callback. ComponentCallbacks.onLowMemory() or other callbacks in ComponentCallbacks2 won't be invoked.

Note that using android.app.Application or android.app.Service context for UI-related queries may result in layout or continuity issues on devices with variable screen sizes (e.g. foldables) or in multi-window modes, since these non-UI contexts may not reflect the Configuration changes for the visual container.

Parameters
type Int: Window type in WindowManager.LayoutParams Value is android.view.WindowManager.LayoutParams#TYPE_BASE_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_STARTING, android.view.WindowManager.LayoutParams#TYPE_DRAWN_APPLICATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_PANEL, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_MEDIA, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_SUB_PANEL, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_ATTACHED_DIALOG, android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_APPLICATION_ABOVE_SUB_PANEL, android.view.WindowManager.LayoutParams#TYPE_STATUS_BAR, android.view.WindowManager.LayoutParams#TYPE_SEARCH_BAR, android.view.WindowManager.LayoutParams#TYPE_PHONE, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT, android.view.WindowManager.LayoutParams.TYPE_KEYGUARD, android.view.WindowManager.LayoutParams#TYPE_TOAST, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_OVERLAY, android.view.WindowManager.LayoutParams#TYPE_PRIORITY_PHONE, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_DIALOG, android.view.WindowManager.LayoutParams#TYPE_KEYGUARD_DIALOG, android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ERROR, android.view.WindowManager.LayoutParams#TYPE_INPUT_METHOD, android.view.WindowManager.LayoutParams#TYPE_INPUT_METHOD_DIALOG, android.view.WindowManager.LayoutParams#TYPE_WALLPAPER, android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL, android.view.WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_DRAG, android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL, android.view.WindowManager.LayoutParams.TYPE_POINTER, android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR, android.view.WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_BOOT_PROGRESS, android.view.WindowManager.LayoutParams.TYPE_INPUT_CONSUMER, android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, android.view.WindowManager.LayoutParams.TYPE_DISPLAY_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY, android.view.WindowManager.LayoutParams#TYPE_PRIVATE_PRESENTATION, android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION, android.view.WindowManager.LayoutParams#TYPE_ACCESSIBILITY_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION_STARTING, android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER, android.view.WindowManager.LayoutParams.TYPE_QS_DIALOG, android.view.WindowManager.LayoutParams.TYPE_SCREENSHOT, android.view.WindowManager.LayoutParams.TYPE_PRESENTATION, android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE, or android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_ADDITIONAL
options Bundle?: A bundle used to pass window-related options This value may be null.
Return
Context This value cannot be null.
Exceptions
java.lang.UnsupportedOperationException if this Context does not attach to a display, such as Application or Service.

databaseList

Added in API level 1
open fun databaseList(): Array<String!>!
Return
Array<String!>! Array of strings naming the private databases.

deleteDatabase

Added in API level 1
open fun deleteDatabase(name: String!): Boolean
Parameters
name String!: The name (unique in the application package) of the database.
Return
Boolean true if the database was successfully deleted; else false.

deleteFile

Added in API level 1
open fun deleteFile(name: String!): Boolean
Parameters
name String!: The name of the file to delete; can not contain path separators.
Return
Boolean true if the file was successfully deleted; else false.

deleteSharedPreferences

Added in API level 24
open fun deleteSharedPreferences(name: String!): Boolean
Parameters
name String!: The name (unique in the application package) of the shared preferences file.
Return
Boolean true if the shared preferences file was successfully deleted; else false.

enforceCallingOrSelfPermission

Added in API level 1
open fun enforceCallingOrSelfPermission(
    permission: String,
    message: String?
): Unit
Parameters
permission String: The name of the permission being checked. This value cannot be null.
message String?: A message to include in the exception if it is thrown. This value may be null.

enforceCallingOrSelfUriPermission

Added in API level 1
open fun enforceCallingOrSelfUriPermission(
    uri: Uri!,
    modeFlags: Int,
    message: String!
): Unit
Parameters
uri Uri!: The uri that is being checked.
modeFlags Int: The access modes to enforce. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
message String!: A message to include in the exception if it is thrown.

enforceCallingPermission

Added in API level 1
open fun enforceCallingPermission(
    permission: String,
    message: String?
): Unit
Parameters
permission String: The name of the permission being checked. This value cannot be null.
message String?: A message to include in the exception if it is thrown. This value may be null.

enforceCallingUriPermission

Added in API level 1
open fun enforceCallingUriPermission(
    uri: Uri!,
    modeFlags: Int,
    message: String!
): Unit
Parameters
uri Uri!: The uri that is being checked.
modeFlags Int: The access modes to enforce. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
message String!: A message to include in the exception if it is thrown.

enforcePermission

Added in API level 1
open fun enforcePermission(
    permission: String,
    pid: Int,
    uid: Int,
    message: String?
): Unit
Parameters
permission String: The name of the permission being checked. This value cannot be null.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
message String?: A message to include in the exception if it is thrown. This value may be null.

enforceUriPermission

Added in API level 1
open fun enforceUriPermission(
    uri: Uri!,
    pid: Int,
    uid: Int,
    modeFlags: Int,
    message: String!
): Unit
Parameters
uri Uri!: The uri that is being checked.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
modeFlags Int: The access modes to enforce. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
message String!: A message to include in the exception if it is thrown.

enforceUriPermission

Added in API level 1
open fun enforceUriPermission(
    uri: Uri?,
    readPermission: String?,
    writePermission: String?,
    pid: Int,
    uid: Int,
    modeFlags: Int,
    message: String?
): Unit
Parameters
uri Uri?: The Uri whose permission is to be checked, or null to not do this check.
readPermission String?: The permission that provides overall read access, or null to not do this check.
writePermission String?: The permission that provides overall write access, or null to not do this check.
pid Int: The process ID being checked against. Must be > 0.
uid Int: The UID being checked against. A uid of 0 is the root user, which will pass every permission check.
modeFlags Int: The access modes to enforce. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION
message String?: A message to include in the exception if it is thrown. This value may be null.

fileList

Added in API level 1
open fun fileList(): Array<String!>!
Return
Array<String!>! Array of strings naming the private files.

getApplicationContext

Added in API level 1
open fun getApplicationContext(): Context!

getApplicationInfo

Added in API level 4
open fun getApplicationInfo(): ApplicationInfo!

getAssets

Added in API level 1
open fun getAssets(): AssetManager!
Return
AssetManager! an AssetManager instance for the application's package

getCacheDir

Added in API level 1
open fun getCacheDir(): File!
Return
File! The path of the directory holding application cache files.

getClassLoader

Added in API level 1
open fun getClassLoader(): ClassLoader!

getCodeCacheDir

Added in API level 21
open fun getCodeCacheDir(): File!
Return
File! The path of the directory holding application code cache files.

getContentResolver

Added in API level 1
open fun getContentResolver(): ContentResolver!

getDataDir

Added in API level 24
open fun getDataDir(): File!

getDatabasePath

Added in API level 1
open fun getDatabasePath(name: String!): File!
Parameters
name String!: The name of the database for which you would like to get its path.
Return
File! An absolute path to the given database.

getDeviceId

Added in API level 34
open fun getDeviceId(): Int
Return
Int the ID of the device this context is associated with.

getDir

Added in API level 1
open fun getDir(
    name: String!,
    mode: Int
): File!
Parameters
name String!: Name of the directory to retrieve. This is a directory that is created as part of your application data.
mode Int: Operating mode. Value is either 0 or a combination of android.content.Context#MODE_PRIVATE, android.content.Context#MODE_WORLD_READABLE, android.content.Context#MODE_WORLD_WRITEABLE, and android.content.Context#MODE_APPEND
Return
File! A File object for the requested directory. The directory will have been created if it does not already exist.

getDisplay

Added in API level 30
open fun getDisplay(): Display
Return
Display Returns the Display object this context is associated with. This value cannot be null.
Exceptions
java.lang.UnsupportedOperationException if the method is called on an instance that is not associated with any display.

getExternalCacheDir

Added in API level 8
open fun getExternalCacheDir(): File?
Return
File? the absolute path to application-specific directory. May return null if shared storage is not currently available.

getExternalCacheDirs

Added in API level 19
open fun getExternalCacheDirs(): Array<File!>!
Return
Array<File!>! the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getExternalCacheDir().

getExternalFilesDir

Added in API level 8
open fun getExternalFilesDir(type: String?): File?
Parameters
type String?: The type of files directory to return. May be null for the root of the files directory or one of the following constants for a subdirectory: android.os.Environment#DIRECTORY_MUSIC, android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONS, android.os.Environment#DIRECTORY_PICTURES, or android.os.Environment#DIRECTORY_MOVIES.
Return
File? the absolute path to application-specific directory. May return null if shared storage is not currently available.

getExternalFilesDirs

Added in API level 19
open fun getExternalFilesDirs(type: String!): Array<File!>!
Parameters
type String!: The type of files directory to return. May be null for the root of the files directory or one of the following constants for a subdirectory: android.os.Environment#DIRECTORY_MUSIC, android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONS, android.os.Environment#DIRECTORY_PICTURES, or android.os.Environment#DIRECTORY_MOVIES.
Return
Array<File!>! the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getExternalFilesDir(java.lang.String).

getExternalMediaDirs

Added in API level 21
open fun getExternalMediaDirs(): Array<File!>!
Return
Array<File!>! the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available.

getFileStreamPath

Added in API level 1
open fun getFileStreamPath(name: String!): File!
Parameters
name String!: The name of the file for which you would like to get its path.
Return
File! An absolute path to the given file.

getFilesDir

Added in API level 1
open fun getFilesDir(): File!
Return
File! The path of the directory holding application files.

getMainExecutor

Added in API level 28
open fun getMainExecutor(): Executor!

getMainLooper

Added in API level 1
open fun getMainLooper(): Looper!
Return
Looper! The main looper.

getNoBackupFilesDir

Added in API level 21
open fun getNoBackupFilesDir(): File!
Return
File! The path of the directory holding application files that will not be automatically backed up to remote storage.

getObbDir

Added in API level 11
open fun getObbDir(): File!
Return
File! the absolute path to application-specific directory. May return null if shared storage is not currently available.

getObbDirs

Added in API level 19
open fun getObbDirs(): Array<File!>!
Return
Array<File!>! the absolute paths to application-specific directories. Some individual paths may be null if that shared storage is not currently available. The first path returned is the same as getObbDir()

getPackageCodePath

Added in API level 1
open fun getPackageCodePath(): String!
Return
String! String Path to the code and assets.

getPackageManager

Added in API level 1
open fun getPackageManager(): PackageManager!

getPackageName

Added in API level 1
open fun getPackageName(): String!

getPackageResourcePath

Added in API level 1
open fun getPackageResourcePath(): String!
Return
String! String Path to the resources.

getResources

Added in API level 1
open fun getResources(): Resources!
Return
Resources! a Resources instance for the application's package

getSharedPreferences

Added in API level 1
open fun getSharedPreferences(
    name: String!,
    mode: Int
): SharedPreferences!
Parameters
name String!: Desired preferences file.
mode Int: Operating mode. Value is either 0 or a combination of android.content.Context#MODE_PRIVATE, android.content.Context#MODE_WORLD_READABLE, android.content.Context#MODE_WORLD_WRITEABLE, and android.content.Context#MODE_MULTI_PROCESS
Return
SharedPreferences! The single SharedPreferences instance that can be used to retrieve and modify the preference values.

getSystemService

Added in API level 1
open fun getSystemService(name: String): Any!
Parameters
name String: The name of the desired service. Value is android.content.Context#POWER_SERVICE, android.content.Context#WINDOW_SERVICE, android.content.Context#LAYOUT_INFLATER_SERVICE, android.content.Context#ACCOUNT_SERVICE, android.content.Context#ACTIVITY_SERVICE, android.content.Context#ALARM_SERVICE, android.content.Context#NOTIFICATION_SERVICE, android.content.Context#ACCESSIBILITY_SERVICE, android.content.Context#CAPTIONING_SERVICE, android.content.Context#KEYGUARD_SERVICE, android.content.Context#LOCATION_SERVICE, android.content.Context#HEALTHCONNECT_SERVICE, android.content.Context#SEARCH_SERVICE, android.content.Context#SENSOR_SERVICE, android.content.Context.SENSOR_PRIVACY_SERVICE, android.content.Context#STORAGE_SERVICE, android.content.Context#STORAGE_STATS_SERVICE, android.content.Context#WALLPAPER_SERVICE, android.content.Context#VIBRATOR_MANAGER_SERVICE, android.content.Context#VIBRATOR_SERVICE, android.content.Context.THREAD_NETWORK_SERVICE, android.content.Context#CONNECTIVITY_SERVICE, android.content.Context.PAC_PROXY_SERVICE, android.content.Context.VCN_MANAGEMENT_SERVICE, android.content.Context#IPSEC_SERVICE, android.content.Context#VPN_MANAGEMENT_SERVICE, android.content.Context.TEST_NETWORK_SERVICE, android.content.Context#NETWORK_STATS_SERVICE, android.content.Context#WIFI_SERVICE, android.content.Context#WIFI_AWARE_SERVICE, android.content.Context#WIFI_P2P_SERVICE, android.content.Context.WIFI_SCANNING_SERVICE, android.content.Context#WIFI_RTT_RANGING_SERVICE, android.content.Context#NSD_SERVICE, android.content.Context#AUDIO_SERVICE, android.content.Context.AUDIO_DEVICE_VOLUME_SERVICE, android.content.Context.AUTH_SERVICE, android.content.Context#FINGERPRINT_SERVICE, android.content.Context#BIOMETRIC_SERVICE, android.content.Context.AUTHENTICATION_POLICY_SERVICE, android.content.Context#MEDIA_ROUTER_SERVICE, android.content.Context#TELEPHONY_SERVICE, android.content.Context#TELEPHONY_SUBSCRIPTION_SERVICE, android.content.Context#CARRIER_CONFIG_SERVICE, android.content.Context#EUICC_SERVICE, android.content.Context#TELECOM_SERVICE, android.content.Context#CLIPBOARD_SERVICE, android.content.Context#INPUT_METHOD_SERVICE, android.content.Context#TEXT_SERVICES_MANAGER_SERVICE, android.content.Context#TEXT_CLASSIFICATION_SERVICE, android.content.Context#APPWIDGET_SERVICE, android.content.Context.REBOOT_READINESS_SERVICE, android.content.Context.ROLLBACK_SERVICE, android.content.Context#DROPBOX_SERVICE, android.content.Context#DEVICE_POLICY_SERVICE, android.content.Context#UI_MODE_SERVICE, android.content.Context#DOWNLOAD_SERVICE, android.content.Context#NFC_SERVICE, android.content.Context#BLUETOOTH_SERVICE, android.content.Context#USB_SERVICE, android.content.Context#LAUNCHER_APPS_SERVICE, android.content.Context#INPUT_SERVICE, android.content.Context#DISPLAY_SERVICE, android.content.Context#USER_SERVICE, android.content.Context#RESTRICTIONS_SERVICE, android.content.Context#APP_OPS_SERVICE, android.content.Context#ROLE_SERVICE, android.content.Context#CAMERA_SERVICE, android.content.Context#PRINT_SERVICE, android.content.Context#CONSUMER_IR_SERVICE, android.content.Context#TV_INTERACTIVE_APP_SERVICE, android.content.Context#TV_INPUT_SERVICE, android.content.Context#USAGE_STATS_SERVICE, android.content.Context#MEDIA_SESSION_SERVICE, android.content.Context#MEDIA_COMMUNICATION_SERVICE, android.content.Context#BATTERY_SERVICE, android.content.Context#JOB_SCHEDULER_SERVICE, android.content.Context#PERSISTENT_DATA_BLOCK_SERVICE, android.content.Context#MEDIA_PROJECTION_SERVICE, android.content.Context#MIDI_SERVICE, android.content.Context.RADIO_SERVICE, android.content.Context#HARDWARE_PROPERTIES_SERVICE, android.content.Context#SHORTCUT_SERVICE, android.content.Context#SYSTEM_HEALTH_SERVICE, android.content.Context#COMPANION_DEVICE_SERVICE, android.content.Context#VIRTUAL_DEVICE_SERVICE, android.content.Context#CROSS_PROFILE_APPS_SERVICE, android.content.Context.PERMISSION_SERVICE, android.content.Context.LIGHTS_SERVICE, android.content.Context#LOCALE_SERVICE, android.content.Context.UWB_SERVICE, android.content.Context#MEDIA_METRICS_SERVICE, android.content.Context#DISPLAY_HASH_SERVICE, android.content.Context#CREDENTIAL_SERVICE, android.content.Context#DEVICE_LOCK_SERVICE, android.content.Context.VIRTUALIZATION_SERVICE, android.content.Context#GRAMMATICAL_INFLECTION_SERVICE, android.content.Context#SECURITY_STATE_SERVICE, android.content.Context#CONTACT_KEYS_SERVICE, android.content.Context.RANGING_SERVICE, android.content.Context.MEDIA_QUALITY_SERVICE, or android.content.Context.ADVANCED_PROTECTION_SERVICE This value cannot be null.
Return
Any! The service or null if the name does not exist.

getSystemServiceName

Added in API level 23
open fun getSystemServiceName(serviceClass: Class<*>): String?
Parameters
serviceClass Class<*>: The class of the desired service. This value cannot be null.
Return
String? The service name or null if the class is not a supported system service.

getTheme

Added in API level 1
open fun getTheme(): Resources.Theme!

getWallpaper

Added in API level 1
open fun getWallpaper(): Drawable!

getWallpaperDesiredMinimumHeight

Added in API level 1
open fun getWallpaperDesiredMinimumHeight(): Int

getWallpaperDesiredMinimumWidth

Added in API level 1
open fun getWallpaperDesiredMinimumWidth(): Int

grantUriPermission

Added in API level 1
open fun grantUriPermission(
    toPackage: String!,
    uri: Uri!,
    modeFlags: Int
): Unit
Parameters
toPackage String!: The package you would like to allow to access the Uri.
uri Uri!: The Uri you would like to grant access to.
modeFlags Int: The desired access modes. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION, android.content.Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_PREFIX_URI_PERMISSION

isDeviceProtectedStorage

Added in API level 24
open fun isDeviceProtectedStorage(): Boolean

isRestricted

Added in API level 4
open fun isRestricted(): Boolean
Return
Boolean true if this Context is restricted, false otherwise.

isUiContext

open fun isUiContext(): Boolean

{@hide}

moveDatabaseFrom

Added in API level 24
open fun moveDatabaseFrom(
    sourceContext: Context!,
    name: String!
): Boolean
Parameters
sourceContext Context!: The source context which contains the existing database to move.
name String!: The name of the database file.
Return
Boolean true if the move was successful or if the database didn't exist in the source context, otherwise false.

moveSharedPreferencesFrom

Added in API level 24
open fun moveSharedPreferencesFrom(
    sourceContext: Context!,
    name: String!
): Boolean
Parameters
sourceContext Context!: The source context which contains the existing shared preferences to move.
name String!: The name of the shared preferences file.
Return
Boolean true if the move was successful or if the shared preferences didn't exist in the source context, otherwise false.

openFileInput

Added in API level 1
open fun openFileInput(name: String!): FileInputStream!
Parameters
name String!: The name of the file to open; can not contain path separators.
Return
FileInputStream! The resulting FileInputStream.

openFileOutput

Added in API level 1
open fun openFileOutput(
    name: String!,
    mode: Int
): FileOutputStream!
Parameters
name String!: The name of the file to open; can not contain path separators.
mode Int: Operating mode. Value is either 0 or a combination of android.content.Context#MODE_PRIVATE, android.content.Context#MODE_WORLD_READABLE, android.content.Context#MODE_WORLD_WRITEABLE, and android.content.Context#MODE_APPEND
Return
FileOutputStream! The resulting FileOutputStream.

openOrCreateDatabase

Added in API level 1
open fun openOrCreateDatabase(
    file: String!,
    mode: Int,
    factory: SQLiteDatabase.CursorFactory!
): SQLiteDatabase!
Parameters
name The name (unique in the application package) of the database.
mode Int: Operating mode. Value is either 0 or a combination of android.content.Context#MODE_PRIVATE, android.content.Context#MODE_WORLD_READABLE, android.content.Context#MODE_WORLD_WRITEABLE, android.content.Context#MODE_ENABLE_WRITE_AHEAD_LOGGING, and android.content.Context#MODE_NO_LOCALIZED_COLLATORS
factory SQLiteDatabase.CursorFactory!: An optional factory class that is called to instantiate a cursor when query is called.
Return
SQLiteDatabase! The contents of a newly created database with the given name.
Exceptions
android.database.sqlite.SQLiteException if the database file could not be opened.

openOrCreateDatabase

Added in API level 11
open fun openOrCreateDatabase(
    file: String!,
    mode: Int,
    factory: SQLiteDatabase.CursorFactory!,
    errorHandler: DatabaseErrorHandler?
): SQLiteDatabase!
Parameters
name The name (unique in the application package) of the database.
mode Int: Operating mode. Value is either 0 or a combination of android.content.Context#MODE_PRIVATE, android.content.Context#MODE_WORLD_READABLE, android.content.Context#MODE_WORLD_WRITEABLE, android.content.Context#MODE_ENABLE_WRITE_AHEAD_LOGGING, and android.content.Context#MODE_NO_LOCALIZED_COLLATORS
factory SQLiteDatabase.CursorFactory!: An optional factory class that is called to instantiate a cursor when query is called.
errorHandler DatabaseErrorHandler?: the DatabaseErrorHandler to be used when sqlite reports database corruption. if null, android.database.DefaultDatabaseErrorHandler is assumed.
Return
SQLiteDatabase! The contents of a newly created database with the given name.
Exceptions
android.database.sqlite.SQLiteException if the database file could not be opened.

peekWallpaper

Added in API level 1
open fun peekWallpaper(): Drawable!

registerReceiver

Added in API level 1
open fun registerReceiver(
    receiver: BroadcastReceiver?,
    filter: IntentFilter!
): Intent?
Parameters
receiver BroadcastReceiver?: The BroadcastReceiver to handle the broadcast. This value may be null.
filter IntentFilter!: Selects the Intent broadcasts to be received.
Return
Intent? The first sticky intent found that matches filter, or null if there are none.

registerReceiver

Added in API level 26
open fun registerReceiver(
    receiver: BroadcastReceiver?,
    filter: IntentFilter!,
    flags: Int
): Intent?
Parameters
receiver BroadcastReceiver?: The BroadcastReceiver to handle the broadcast. This value may be null.
filter IntentFilter!: Selects the Intent broadcasts to be received.
flags Int: Additional options for the receiver. For apps targeting android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE either RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED must be specified if the receiver isn't being registered for system broadcasts or a SecurityException will be thrown. If RECEIVER_EXPORTED is specified, a receiver may additionally specify RECEIVER_VISIBLE_TO_INSTANT_APPS. For a complete list of system broadcast actions, see the BROADCAST_ACTIONS.TXT file in the Android SDK. If both RECEIVER_EXPORTED and RECEIVER_NOT_EXPORTED are specified, an IllegalArgumentException will be thrown. Value is either 0 or a combination of android.content.Context#RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Context#RECEIVER_EXPORTED, android.content.Context#RECEIVER_NOT_EXPORTED, and android.content.Context.RECEIVER_EXPORTED_UNAUDITED
Return
Intent? The first sticky intent found that matches filter, or null if there are none.

registerReceiver

Added in API level 1
open fun registerReceiver(
    receiver: BroadcastReceiver!,
    filter: IntentFilter!,
    broadcastPermission: String?,
    scheduler: Handler?
): Intent?
Parameters
receiver BroadcastReceiver!: The BroadcastReceiver to handle the broadcast.
filter IntentFilter!: Selects the Intent broadcasts to be received.
broadcastPermission String?: String naming a permissions that a broadcaster must hold in order to send an Intent to you. If null, no permission is required.
scheduler Handler?: Handler identifying the thread that will receive the Intent. If null, the main thread of the process will be used.
Return
Intent? The first sticky intent found that matches filter, or null if there are none.

registerReceiver

Added in API level 26
open fun registerReceiver(
    receiver: BroadcastReceiver!,
    filter: IntentFilter!,
    broadcastPermission: String?,
    scheduler: Handler?,
    flags: Int
): Intent?
Parameters
receiver BroadcastReceiver!: The BroadcastReceiver to handle the broadcast.
filter IntentFilter!: Selects the Intent broadcasts to be received.
broadcastPermission String?: String naming a permissions that a broadcaster must hold in order to send an Intent to you. If null, no permission is required.
scheduler Handler?: Handler identifying the thread that will receive the Intent. If null, the main thread of the process will be used.
flags Int: Additional options for the receiver. For apps targeting android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE either RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED must be specified if the receiver isn't being registered for system broadcasts or a SecurityException will be thrown. If RECEIVER_EXPORTED is specified, a receiver may additionally specify RECEIVER_VISIBLE_TO_INSTANT_APPS. For a complete list of system broadcast actions, see the BROADCAST_ACTIONS.TXT file in the Android SDK. If both RECEIVER_EXPORTED and RECEIVER_NOT_EXPORTED are specified, an IllegalArgumentException will be thrown. Value is either 0 or a combination of android.content.Context#RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Context#RECEIVER_EXPORTED, android.content.Context#RECEIVER_NOT_EXPORTED, and android.content.Context.RECEIVER_EXPORTED_UNAUDITED
Return
Intent? The first sticky intent found that matches filter, or null if there are none.

removeStickyBroadcast

Added in API level 1
open fun removeStickyBroadcast(intent: Intent!): Unit
Parameters
intent Intent!: The Intent that was previously broadcast.

removeStickyBroadcastAsUser

Added in API level 17
open fun removeStickyBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!
): Unit
Parameters
intent Intent!: The Intent that was previously broadcast.
user UserHandle!: UserHandle to remove the sticky broadcast from.

revokeUriPermission

Added in API level 1
open fun revokeUriPermission(
    uri: Uri!,
    modeFlags: Int
): Unit
Parameters
uri Uri!: The Uri you would like to revoke access to.
modeFlags Int: The access modes to revoke. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION

revokeUriPermission

Added in API level 26
open fun revokeUriPermission(
    targetPackage: String!,
    uri: Uri!,
    modeFlags: Int
): Unit
Parameters
toPackage The package you had previously granted access to.
uri Uri!: The Uri you would like to revoke access to.
modeFlags Int: The access modes to revoke. Value is either 0 or a combination of android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION, and android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION

sendBroadcast

Added in API level 1
open fun sendBroadcast(intent: Intent!): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.

sendBroadcast

Added in API level 1
open fun sendBroadcast(
    intent: Intent!,
    receiverPermission: String?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
receiverPermission String?: (optional) String naming a permission that a receiver must hold in order to receive your broadcast. If null, no permission is required.

sendBroadcastAsUser

Added in API level 17
open fun sendBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!
): Unit
Parameters
intent Intent!: The intent to broadcast
user UserHandle!: UserHandle to send the intent to.

sendBroadcastAsUser

Added in API level 17
open fun sendBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!,
    receiverPermission: String?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
user UserHandle!: UserHandle to send the intent to.
receiverPermission String?: (optional) String naming a permission that a receiver must hold in order to receive your broadcast. If null, no permission is required.

sendOrderedBroadcast

Added in API level 1
open fun sendOrderedBroadcast(
    intent: Intent!,
    receiverPermission: String?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
receiverPermission String?: (optional) String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required.

sendOrderedBroadcast

Added in API level 1
open fun sendOrderedBroadcast(
    intent: Intent,
    receiverPermission: String?,
    resultReceiver: BroadcastReceiver?,
    scheduler: Handler?,
    initialCode: Int,
    initialData: String?,
    initialExtras: Bundle?
): Unit
Parameters
intent Intent: The Intent to broadcast; all receivers matching this Intent will receive the broadcast. This value cannot be null.
receiverPermission String?: String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required.
resultReceiver BroadcastReceiver?: Your own BroadcastReceiver to treat as the final receiver of the broadcast. This value may be null.
scheduler Handler?: A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread.
initialCode Int: An initial value for the result code. Often Activity.RESULT_OK.
initialData String?: An initial value for the result data. Often null.
initialExtras Bundle?: An initial value for the result extras. Often null.

sendOrderedBroadcast

Added in API level 30
open fun sendOrderedBroadcast(
    intent: Intent,
    receiverPermission: String?,
    receiverAppOp: String?,
    resultReceiver: BroadcastReceiver?,
    scheduler: Handler?,
    initialCode: Int,
    initialData: String?,
    initialExtras: Bundle?
): Unit
Parameters
intent Intent: The Intent to broadcast; all receivers matching this Intent will receive the broadcast. This value cannot be null.
receiverPermission String?: String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required.
receiverAppOp String?: The app op associated with the broadcast. If null, no appOp is required. If both receiverAppOp and receiverPermission are non-null, a receiver must have both of them to receive the broadcast
resultReceiver BroadcastReceiver?: Your own BroadcastReceiver to treat as the final receiver of the broadcast. This value may be null.
scheduler Handler?: A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread.
initialCode Int: An initial value for the result code. Often Activity.RESULT_OK.
initialData String?: An initial value for the result data. Often null.
initialExtras Bundle?: An initial value for the result extras. Often null.

sendOrderedBroadcastAsUser

Added in API level 17
open fun sendOrderedBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!,
    receiverPermission: String?,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler?,
    initialCode: Int,
    initialData: String?,
    initialExtras: Bundle?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
user UserHandle!: UserHandle to send the intent to.
receiverPermission String?: String naming a permissions that a receiver must hold in order to receive your broadcast. If null, no permission is required.
resultReceiver BroadcastReceiver!: Your own BroadcastReceiver to treat as the final receiver of the broadcast.
scheduler Handler?: A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread.
initialCode Int: An initial value for the result code. Often Activity.RESULT_OK.
initialData String?: An initial value for the result data. Often null.
initialExtras Bundle?: An initial value for the result extras. Often null.

sendStickyBroadcast

Added in API level 1
open fun sendStickyBroadcast(intent: Intent!): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast, and the Intent will be held to be re-broadcast to future receivers.

sendStickyBroadcast

Added in API level 31
open fun sendStickyBroadcast(
    intent: Intent,
    options: Bundle?
): Unit
Parameters
intent Intent: The Intent to broadcast; all receivers matching this Intent will receive the broadcast, and the Intent will be held to be re-broadcast to future receivers. This value cannot be null.
options Bundle?: (optional) Additional sending options, generated from a android.app.BroadcastOptions. This value may be null.

sendStickyBroadcastAsUser

Added in API level 17
open fun sendStickyBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast, and the Intent will be held to be re-broadcast to future receivers.
user UserHandle!: UserHandle to send the intent to.

sendStickyOrderedBroadcast

Added in API level 5
open fun sendStickyOrderedBroadcast(
    intent: Intent!,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler?,
    initialCode: Int,
    initialData: String?,
    initialExtras: Bundle?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
resultReceiver BroadcastReceiver!: Your own BroadcastReceiver to treat as the final receiver of the broadcast.
scheduler Handler?: A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread.
initialCode Int: An initial value for the result code. Often Activity.RESULT_OK.
initialData String?: An initial value for the result data. Often null.
initialExtras Bundle?: An initial value for the result extras. Often null.

sendStickyOrderedBroadcastAsUser

Added in API level 17
open fun sendStickyOrderedBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler?,
    initialCode: Int,
    initialData: String?,
    initialExtras: Bundle?
): Unit
Parameters
intent Intent!: The Intent to broadcast; all receivers matching this Intent will receive the broadcast.
user UserHandle!: UserHandle to send the intent to.
resultReceiver BroadcastReceiver!: Your own BroadcastReceiver to treat as the final receiver of the broadcast.
scheduler Handler?: A custom Handler with which to schedule the resultReceiver callback; if null it will be scheduled in the Context's main thread.
initialCode Int: An initial value for the result code. Often Activity.RESULT_OK.
initialData String?: An initial value for the result data. Often null.
initialExtras Bundle?: An initial value for the result extras. Often null.

setTheme

Added in API level 1
open fun setTheme(resid: Int): Unit
Parameters
resid Int: The style resource describing the theme.

setWallpaper

Added in API level 1
open fun setWallpaper(bitmap: Bitmap!): Unit

setWallpaper

Added in API level 1
open fun setWallpaper(data: InputStream!): Unit

startActivities

Added in API level 11
open fun startActivities(intents: Array<Intent!>!): Unit
Parameters
intents Array<Intent!>!: An array of Intents to be started.
Exceptions
android.content.ActivityNotFoundException  

startActivities

Added in API level 16
open fun startActivities(
    intents: Array<Intent!>!,
    options: Bundle!
): Unit
Parameters
intents Array<Intent!>!: An array of Intents to be started.
options Bundle!: Additional options for how the Activity should be started. See android.content.Context#startActivity(Intent, Bundle) Context.startActivity(Intent, Bundle)} for more details.
Exceptions
android.content.ActivityNotFoundException  

startActivity

Added in API level 1
open fun startActivity(intent: Intent!): Unit
Parameters
intent Intent!: The description of the activity to start.
Exceptions
android.content.ActivityNotFoundException   `

startActivity

Added in API level 16
open fun startActivity(
    intent: Intent!,
    options: Bundle?
): Unit
Parameters
intent Intent!: The description of the activity to start.
options Bundle?: Additional options for how the Activity should be started. May be null if there are no options. See android.app.ActivityOptions for how to build the Bundle supplied here; there are no supported definitions for building it manually.
Exceptions
android.content.ActivityNotFoundException  

startForegroundService

Added in API level 26
open fun startForegroundService(service: Intent!): ComponentName?
Parameters
service Intent!: Identifies the service to be started. The Intent must be fully explicit (supplying a component name). Additional values may be included in the Intent extras to supply arguments along with this specific start call.
Return
ComponentName? If the service is being started or is already running, the ComponentName of the actual service that was started is returned; else if the service does not exist null is returned.
Exceptions
java.lang.SecurityException If the caller does not have permission to access the service or the service can not be found.
android.app.ForegroundServiceStartNotAllowedException If the caller app's targeting API is android.os.Build.VERSION_CODES#S or later, and the foreground service is restricted from start due to background restriction.

startInstrumentation

Added in API level 1
open fun startInstrumentation(
    className: ComponentName,
    profileFile: String?,
    arguments: Bundle?
): Boolean
Parameters
className ComponentName: Name of the Instrumentation component to be run. This value cannot be null.
profileFile String?: Optional path to write profiling data as the instrumentation runs, or null for no profiling.
arguments Bundle?: Additional optional arguments to pass to the instrumentation, or null.
Return
Boolean true if the instrumentation was successfully started, else false if it could not be found.

startIntentSender

Added in API level 5
open fun startIntentSender(
    intent: IntentSender!,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int
): Unit
Parameters
intent IntentSender!: The IntentSender to launch.
fillInIntent Intent?: If non-null, this will be provided as the intent parameter to android.content.IntentSender#sendIntent.
flagsMask Int: Intent flags in the original IntentSender that you would like to change. Value is either 0 or a combination of android.content.Intent#FLAG_FROM_BACKGROUND, android.content.Intent#FLAG_DEBUG_LOG_RESOLUTION, android.content.Intent#FLAG_EXCLUDE_STOPPED_PACKAGES, android.content.Intent#FLAG_INCLUDE_STOPPED_PACKAGES, android.content.Intent.FLAG_DEBUG_TRIAGED_MISSING, android.content.Intent.FLAG_IGNORE_EPHEMERAL, android.content.Intent#FLAG_ACTIVITY_MATCH_EXTERNAL, android.content.Intent#FLAG_ACTIVITY_NO_HISTORY, android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP, android.content.Intent#FLAG_ACTIVITY_NEW_TASK, android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK, android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP, android.content.Intent#FLAG_ACTIVITY_FORWARD_RESULT, android.content.Intent#FLAG_ACTIVITY_PREVIOUS_IS_TOP, android.content.Intent#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, android.content.Intent#FLAG_ACTIVITY_BROUGHT_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, android.content.Intent#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NO_USER_ACTION, android.content.Intent#FLAG_ACTIVITY_REORDER_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_NO_ANIMATION, android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK, android.content.Intent#FLAG_ACTIVITY_TASK_ON_HOME, android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS, android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT, android.content.Intent#FLAG_RECEIVER_REGISTERED_ONLY, android.content.Intent#FLAG_RECEIVER_REPLACE_PENDING, android.content.Intent#FLAG_RECEIVER_FOREGROUND, android.content.Intent#FLAG_RECEIVER_NO_ABORT, android.content.Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT, android.content.Intent.FLAG_RECEIVER_BOOT_UPGRADE, android.content.Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_EXCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_FROM_SHELL, android.content.Intent#FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Intent.FLAG_RECEIVER_OFFLOAD, and android.content.Intent.FLAG_RECEIVER_OFFLOAD_FOREGROUND
flagsValues Int: Desired values for any bits set in flagsMask Value is either 0 or a combination of android.content.Intent#FLAG_FROM_BACKGROUND, android.content.Intent#FLAG_DEBUG_LOG_RESOLUTION, android.content.Intent#FLAG_EXCLUDE_STOPPED_PACKAGES, android.content.Intent#FLAG_INCLUDE_STOPPED_PACKAGES, android.content.Intent.FLAG_DEBUG_TRIAGED_MISSING, android.content.Intent.FLAG_IGNORE_EPHEMERAL, android.content.Intent#FLAG_ACTIVITY_MATCH_EXTERNAL, android.content.Intent#FLAG_ACTIVITY_NO_HISTORY, android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP, android.content.Intent#FLAG_ACTIVITY_NEW_TASK, android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK, android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP, android.content.Intent#FLAG_ACTIVITY_FORWARD_RESULT, android.content.Intent#FLAG_ACTIVITY_PREVIOUS_IS_TOP, android.content.Intent#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, android.content.Intent#FLAG_ACTIVITY_BROUGHT_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, android.content.Intent#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NO_USER_ACTION, android.content.Intent#FLAG_ACTIVITY_REORDER_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_NO_ANIMATION, android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK, android.content.Intent#FLAG_ACTIVITY_TASK_ON_HOME, android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS, android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT, android.content.Intent#FLAG_RECEIVER_REGISTERED_ONLY, android.content.Intent#FLAG_RECEIVER_REPLACE_PENDING, android.content.Intent#FLAG_RECEIVER_FOREGROUND, android.content.Intent#FLAG_RECEIVER_NO_ABORT, android.content.Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT, android.content.Intent.FLAG_RECEIVER_BOOT_UPGRADE, android.content.Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_EXCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_FROM_SHELL, android.content.Intent#FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Intent.FLAG_RECEIVER_OFFLOAD, and android.content.Intent.FLAG_RECEIVER_OFFLOAD_FOREGROUND
extraFlags Int: Always set to 0.

startIntentSender

Added in API level 16
open fun startIntentSender(
    intent: IntentSender!,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int,
    options: Bundle?
): Unit
Parameters
intent IntentSender!: The IntentSender to launch.
fillInIntent Intent?: If non-null, this will be provided as the intent parameter to android.content.IntentSender#sendIntent.
flagsMask Int: Intent flags in the original IntentSender that you would like to change. Value is either 0 or a combination of android.content.Intent#FLAG_FROM_BACKGROUND, android.content.Intent#FLAG_DEBUG_LOG_RESOLUTION, android.content.Intent#FLAG_EXCLUDE_STOPPED_PACKAGES, android.content.Intent#FLAG_INCLUDE_STOPPED_PACKAGES, android.content.Intent.FLAG_DEBUG_TRIAGED_MISSING, android.content.Intent.FLAG_IGNORE_EPHEMERAL, android.content.Intent#FLAG_ACTIVITY_MATCH_EXTERNAL, android.content.Intent#FLAG_ACTIVITY_NO_HISTORY, android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP, android.content.Intent#FLAG_ACTIVITY_NEW_TASK, android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK, android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP, android.content.Intent#FLAG_ACTIVITY_FORWARD_RESULT, android.content.Intent#FLAG_ACTIVITY_PREVIOUS_IS_TOP, android.content.Intent#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, android.content.Intent#FLAG_ACTIVITY_BROUGHT_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, android.content.Intent#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NO_USER_ACTION, android.content.Intent#FLAG_ACTIVITY_REORDER_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_NO_ANIMATION, android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK, android.content.Intent#FLAG_ACTIVITY_TASK_ON_HOME, android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS, android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT, android.content.Intent#FLAG_RECEIVER_REGISTERED_ONLY, android.content.Intent#FLAG_RECEIVER_REPLACE_PENDING, android.content.Intent#FLAG_RECEIVER_FOREGROUND, android.content.Intent#FLAG_RECEIVER_NO_ABORT, android.content.Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT, android.content.Intent.FLAG_RECEIVER_BOOT_UPGRADE, android.content.Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_EXCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_FROM_SHELL, android.content.Intent#FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Intent.FLAG_RECEIVER_OFFLOAD, and android.content.Intent.FLAG_RECEIVER_OFFLOAD_FOREGROUND
flagsValues Int: Desired values for any bits set in flagsMask Value is either 0 or a combination of android.content.Intent#FLAG_FROM_BACKGROUND, android.content.Intent#FLAG_DEBUG_LOG_RESOLUTION, android.content.Intent#FLAG_EXCLUDE_STOPPED_PACKAGES, android.content.Intent#FLAG_INCLUDE_STOPPED_PACKAGES, android.content.Intent.FLAG_DEBUG_TRIAGED_MISSING, android.content.Intent.FLAG_IGNORE_EPHEMERAL, android.content.Intent#FLAG_ACTIVITY_MATCH_EXTERNAL, android.content.Intent#FLAG_ACTIVITY_NO_HISTORY, android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP, android.content.Intent#FLAG_ACTIVITY_NEW_TASK, android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK, android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP, android.content.Intent#FLAG_ACTIVITY_FORWARD_RESULT, android.content.Intent#FLAG_ACTIVITY_PREVIOUS_IS_TOP, android.content.Intent#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, android.content.Intent#FLAG_ACTIVITY_BROUGHT_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, android.content.Intent#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT, android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, android.content.Intent#FLAG_ACTIVITY_NO_USER_ACTION, android.content.Intent#FLAG_ACTIVITY_REORDER_TO_FRONT, android.content.Intent#FLAG_ACTIVITY_NO_ANIMATION, android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK, android.content.Intent#FLAG_ACTIVITY_TASK_ON_HOME, android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS, android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT, android.content.Intent#FLAG_RECEIVER_REGISTERED_ONLY, android.content.Intent#FLAG_RECEIVER_REPLACE_PENDING, android.content.Intent#FLAG_RECEIVER_FOREGROUND, android.content.Intent#FLAG_RECEIVER_NO_ABORT, android.content.Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT, android.content.Intent.FLAG_RECEIVER_BOOT_UPGRADE, android.content.Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_EXCLUDE_BACKGROUND, android.content.Intent.FLAG_RECEIVER_FROM_SHELL, android.content.Intent#FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS, android.content.Intent.FLAG_RECEIVER_OFFLOAD, and android.content.Intent.FLAG_RECEIVER_OFFLOAD_FOREGROUND
extraFlags Int: Always set to 0.
options Bundle?: Additional options for how the Activity should be started. See android.content.Context#startActivity(Intent, Bundle) Context.startActivity(Intent, Bundle)} for more details. If options have also been supplied by the IntentSender, options given here will override any that conflict with those given by the IntentSender. This value may be null.

startService

Added in API level 1
open fun startService(service: Intent!): ComponentName?
Parameters
service Intent!: Identifies the service to be started. The Intent must be fully explicit (supplying a component name). Additional values may be included in the Intent extras to supply arguments along with this specific start call.
Return
ComponentName? If the service is being started or is already running, the ComponentName of the actual service that was started is returned; else if the service does not exist null is returned.
Exceptions
java.lang.SecurityException If the caller does not have permission to access the service or the service can not be found.
java.lang.IllegalStateException Before Android android.os.Build.VERSION_CODES#S, if the application is in a state where the service can not be started (such as not in the foreground in a state when services are allowed), IllegalStateException was thrown.
android.app.BackgroundServiceStartNotAllowedException On Android android.os.Build.VERSION_CODES#S and later, if the application is in a state where the service can not be started (such as not in the foreground in a state when services are allowed), android.app.BackgroundServiceStartNotAllowedException is thrown. This exception extends IllegalStateException, so apps can use catch (IllegalStateException) to catch both.

stopService

Added in API level 1
open fun stopService(service: Intent!): Boolean
Parameters
service Intent!: Description of the service to be stopped. The Intent must be either fully explicit (supplying a component name) or specify a specific package name it is targeted to.
Return
Boolean If there is a service matching the given Intent that is already running, then it is stopped and true is returned; else false is returned.
Exceptions
java.lang.SecurityException If the caller does not have permission to access the service or the service can not be found.
java.lang.IllegalStateException If the application is in a state where the service can not be started (such as not in the foreground in a state when services are allowed).

unbindService

Added in API level 1
open fun unbindService(conn: ServiceConnection): Unit
Parameters
conn ServiceConnection: The connection interface previously supplied to bindService(). This parameter must not be null.

unregisterReceiver

Added in API level 1
open fun unregisterReceiver(receiver: BroadcastReceiver!): Unit
Parameters
receiver BroadcastReceiver!: The BroadcastReceiver to unregister.
Exceptions
java.lang.IllegalArgumentException if the receiver was not previously registered or already unregistered.

updateServiceGroup

Added in API level 29
open fun updateServiceGroup(
    conn: ServiceConnection,
    group: Int,
    importance: Int
): Unit
Parameters
conn ServiceConnection: The connection interface previously supplied to bindService(). This parameter must not be null.
group Int: A group to put this connection's process in. Upon calling here, this will override any previous group that was set for that process. The group tells the system about processes that are logically grouped together, so should be managed as one unit of importance (such as when being considered a recently used app). All processes in the same app with the same group are considered to be related. Supplying 0 reverts to the default behavior of not grouping.
importance Int: Additional importance of the processes within a group. Upon calling here, this will override any previous importance that was set for that process. The most important process is 0, and higher values are successively less important. You can view this as describing how to order the processes in an array, with the processes at the end of the array being the least important. This value has no meaning besides indicating how processes should be ordered in that array one after the other. This provides a way to fine-tune the system's process killing, guiding it to kill processes at the end of the array first.