43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
# Android Floating WebView
|
|
|
|
A simple app, that I quickly arranged,
|
|
for an effective way of having a WebView as a constant visual overlay on my screen,
|
|
but that still allows touches to be directed to any other app running below it.
|
|
|
|
The UX isn't the best and functionality is not optimized,
|
|
since I only made this quick and dirty for just my specific use; that is,
|
|
putting animations on the screen of my old smartphone that I'm upcycling into a PC touchpad,
|
|
thanks to KDE connect (which I couldn't manage to modify for putting a WebView).
|
|
I will probably not improve it. See <https://octospacc.altervista.org/2024/01/17/overlay-webview-su-android-a-scopi-ricreativi/>.
|
|
|
|
Most of the code is taken from <https://github.com/mjlong123123/TestFloaWindow/>,
|
|
so proper credits go to them, I just did the following things:
|
|
|
|
* Made the app overlay contain just a WebView, loading a file from private external storage.
|
|
* Removed test code and disabled complex window overlay code.
|
|
* The floating overlay is made visible but not touchable, and also not movable or resizable.
|
|
* Added an ongoing notification for terminating the service.
|
|
|
|
## Download and Usage
|
|
|
|
1. After [installing AndroidFloatingWebView.apk](dist/AndroidFloatingWebView.apk),
|
|
start the app a first time, grant overlay permissions, then close it.
|
|
|
|
2. Now, prepare an `index.html` file in the application's private external storage directory
|
|
(which also appears on the screen if you reopen the app before this file is present);
|
|
it usually (but not always) is `/sdcard/Android/org.eu.octt.androidfloatingwebview/files/`.
|
|
Optionally, add any other files that you want to require from your HTML.
|
|
|
|
3. Now, restarting the app will make a WebView appear on your screen,
|
|
totally functioning except for the fact that you can't touch it;
|
|
all of your touches will go to whatever app was running before.
|
|
|
|
4. To close this visual overlay, open your notification drawer and
|
|
click on the service notification ("AndroidFloatingWebView: Click to terminate service").
|
|
|
|
You can put anything you want in the `index.html`,
|
|
as long as your system's default WebView implementation can interpret it.
|
|
You can either put an HTML5 application that will work offline, a document,
|
|
or put code that redirects the browser to any website.
|
|
Just keep in mind that you can only see, not touch.
|