You have two main parts in the folder:
- IntelliProveWebView
- app
The rest are Android config files which nobody actually understands, or do they...? 🧐
The IntelliProveWebView
folder is the actual SDK. Deep down its folder structure you'll find the IntelliWebViewActivity.kt
file. It's at "./IntelliProveWebView/src/main/java/com/intelliprove/webview/IntelliWebViewActivity.kt".
Here's a GPT barf of what that file does:
Purpose
An Android Activity
that hosts a WebView
to load a web app, handle JS communication, camera permissions, and external links.
Key Components
IntelliWebViewDelegate
– callback interface for receiving messages from the web app.IntelliWebViewDelegateHolder
– singleton holder for the delegate.IntelliWebViewActivity
- Configures
WebView
(JavaScript, DOM storage, debugging). - Injects JS to disable zoom and patch
window.postMessage
. - Handles external links via browser intents.
- Manages camera permission requests for
getUserMedia
. - Cleans up
WebView
on destroy.
- Configures
IntelliWebAppInterface
– JS bridge that forwardspostMessage
calls to the delegate and dismisses the activity if"stage": "dismiss"
.
Flow
start(context, url, delegate)
launches activity with URL.- WebView loads the page and patches JS.
postMessage
events are forwarded to Android.- Camera permission requests go through Android’s system.
- External links open in browser.
- Delegate is notified of all messages.
The app
folder is an example implementation that uses the SDK. If you want to test a URL, add it to the MainActivity.kt
file. You can find it at "./app/src/main/java/com/intelliprove/MainActivity.kt".
It's a HelloWorld app with a single button that opens the IntelliProveWebViewActivity, given a specified URL. To test some code you have running locally, proxy it to a public HTTPS URL and use that one, including the action token.
You need the following prerequisites:
- Android SDK Build Tools 35.0.0
- Android API 35 -> Android SDK Platform 35
When building the SDK, always verify that the Build Variants are set to "Release".
Set the Build Variants to Debug to fix issues concerning signing of the app.