Android (Kotlin)

Check out some examples of how to set up deeplinks and listen for webview redirects in Android 🤖.


In order to be able to use the hosted widget in your Android app, make sure that you:

Set up deeplinks in your Android application

In your AndroidManifest.xml file, add the following code:

<manifest ...>
  <!-- ... -->
<application ...>
    <activity ...>
      <!-- ... -->
            <intent-filter> <!-- You need to add this entire XML object. -->
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with belvowidget:// -->
          android:host="" /> 

Handle events in your webview

In the code sample below you can see an example of how to listen for and handle events within your webview.

val belvoWebView: WebView = findViewById( WEBVIEW_ID_ASSIGNED_IN_CONTENT  )
        belvoWebView.settings.javaScriptEnabled = true
        belvoWebView.settings.allowContentAccess = true
        belvoWebView.settings.useWideViewPort = true

        belvoWebView.webViewClient = object : WebViewClient () {
            override fun shouldOverrideUrlLoading(view: WebView?, url: String): Boolean {
               if (url.startsWith("https")) {
                   return true
               else {
                   val uri: Uri = Uri.parse(url)
                   val host: String? =
                   if (host == "success") {
                       val link : String? = uri.getQueryParameter("link")
                       val institution : String? = uri.getQueryParameter("institution")
                       // Do something with the link and institution.
                   else if (host == "exit") {
                     // If the redirect starts with "exit",
                     // Do something with the data.
                   else {
                     // If the redirect starts with "error",
                     // Do something with the data.
               return false

Please note: You might receive a warning due to thebelvoWebView.settings.javaScriptEnabled = true line (as in the image below). Belvo's Widget for Webviews fulfills all kinds of XSS mitigations, so we recommend suppressing this warning with the annotation suggested by Android Studio.


Possible warning message

Did this page help you?