Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

NowWebService class- Android

The NowWebService class provides a function that launches a NowWebActivity that hosts a web view.

NameTypeDescription
configurationNowServiceConfiguration class - AndroidConfiguration information for the associated service, such as the ServiceNow instance URL and the name of the package.

Parent Topic:Mobile SDK - Android

NowWebService - launch(context: Context, url: URL, nowWebTheme: NowWebTheme)

Creates a NowWebActivity that hosts the web view.

NameTypeDescription
contextContextContext to use for launching the associated activity.
urlURLURL of the web page to load. This web page must be on the target ServiceNow instance that the service was initialized with.
nowWebThemeNowWebThemeOptional. NowWebTheme object to apply to the UI elements of the view controller.Default: Default theme
TypeDescription
None 

The following code example shows how to call this function.

suspend fun launchNowWeb() {
    val webService = getNowWebService()

    val webTheme = object : NowWebTheme {
        override val brand: Int
            get() = Color.BLUE

        override val textPrimary: Int
            get() = Color.BLACK

        //Override remaining theme colors
    }
    webService?.launch(activity, URL("https://instance-name.service-now.com"), webTheme)
}

NowWebService – preloadWebCache(preloadUris: List<URI>)

Preloads a list of specified java.net.URIs in a headless webview to pre-populate the webview cache with cacheable resources on the page.

Note: Completion of this function call is based on onPageFinished() being called in the webview, which does not take into account redirections or resources on the page. Because of this, preload may not be fully complete when this method returns.

NameTypeDescription
preloadUrisListList of java.net.URIs to pre-load. All java.net.URIs must be relative or match the current host configured in the NowSDK.
TypeDescription
None 

The following example shows how to use the webService.preloadWebCache() function to pre-load the mesp page.

suspend fun preloadNowWeb() {
  val webService = serviceProvider.webService()
  webService.preloadWebCache(
    listOf(
      URI("mesp")
    )
  )
}

NowWebService – updateTheme(nowWebTheme: NowWebTheme)

Updates the NowWeb UI theme with the specified UI theme. Use this function to update the web UI theme after it has been initially set using the launch() function, such as when changing the theme from light to dark.

NameTypeDescription
nowWebThemeNowWebThemeNowWebTheme object to apply to the UI elements of the view controller.
TypeDescription
None 

The following code example shows how to update a light UI theme implemented using the launch() function to the dark UI theme using the updateTheme() function.

val webService = getNowWebService()

val lightTheme = object : NowWebTheme {
    override val brand: Int
        get() = Color.BLUE

    override val textPrimary: Int
        get() = Color.BLACK

    override val backgroundPrimary: Int
        get() = Color.WHITE

    // Override remaining theme colors
}

val darkTheme = object : NowWebTheme {
    override val brand: Int
        get() = Color.BLUE

    override val textPrimary: Int
        get() = Color.WHITE

    override val backgroundPrimary: Int
        get() = Color.BLACK

    // Override remaining theme colors
}

//launch NowWeb with light theme
webService?.launch(activity, URL("https://instance-name.service-now.com"), lightTheme)

//update NowWeb with dark theme
webService?.updateTheme(darkTheme)