Files
keepassgo/docs/android-autofill.md
T
2026-04-23 20:51:39 -07:00

2.1 KiB

Android Autofill

App Target Matching

User story:

  • When an entry carries an Android-specific target such as androidapp://com.blinknetwork.mobile2, KeePassGO should treat that as a first-class autofill target on Android.
  • If an exact app target exists, Android autofill should resolve that entry directly instead of falling back to a generic chooser for the whole cache.

Expected behavior:

  • AndroidApp* custom fields exported into the autofill cache must match the Android package target used by the autofill and accessibility services.
  • The Android-side matcher must normalize androidapp://... targets the same way the Go cache builder does.
  • The chooser path should still collapse to a single direct result when there is one exact app-target match.

Accessibility Fallback

User story:

  • When Android accessibility fallback is needed, KeePassGO should not be limited to Chrome-only URL bar parsing.
  • Apps with stable package identities should still be fillable when an entry carries a matching AndroidApp* target.

Expected behavior:

  • Accessibility fallback derives its match target from the web domain when one is available.
  • If no web domain is available, accessibility fallback uses the active app package as androidapp://<package>.
  • The fallback path can therefore fill supported apps that never expose a browser-style URL bar.

Share-Driven Lookup

User story:

  • When Android shares a login URL or a text snippet containing a login URL into KeePassGO, the app should open into a credential lookup flow instead of only supporting shared .kdbx imports.
  • If the vault is already open, the shared target should immediately narrow the entries view.
  • If the vault is not open yet, the shared target should survive startup and apply as soon as the vault is unlocked.

Expected behavior:

  • Android share intents can queue a pending lookup target in addition to shared vault file imports.
  • KeePassGO normalizes the shared value into a search query that users can immediately act on.
  • The pending lookup is consumed once and does not keep reappearing on later launches.