OcttBitsOfFun/AndroidFloatingWebView
octospacc b812ad9be8 Update READMEs 2024-01-18 18:14:12 +01:00
..
.idea Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
app Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
dist Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
gradle/wrapper Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
.gitignore Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
README.md Update READMEs 2024-01-18 18:14:12 +01:00
build.gradle Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
gradle.properties Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
gradlew Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
gradlew.bat Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00
settings.gradle Add AndroidFloatingWebView files 2024-01-18 17:54:23 +01:00

README.md

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, 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.