When I visit something like my banking application’s login page:
#!/system/bin/sh
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.rbs.mobile.android.natwest' && \
cmd activity start --user 0 -a android.intent.action.VIEW -n com.rbs.mobile.android.natwest/co.uk.rbsg.mobile.android.feature.login.LoginActivity -f 0 com.rbs.mobile.android.natwest
…I want to inform Bitwarden to provide me my credentials then, but thereafter ignore certain activities that contain my banking information. Obviously, in this case LayoutParams.FLAG_SECURE is set, but you can see the application.
In this case, adding intent:#Intent;package=com.rbs.mobile.android.natwest;component=co.uk.rbsg.mobile.android.feature.login.LoginActivity;end would be useful, as would excluding intent:#Intent;package=com.rbs.mobile.android.natwest;component=co.uk.rbsg.mobile.android.feature.accounts.MainActivity;end.
When I visit it.mirko.beta’s login form, like the undermentioned induces:
#!/system/bin/sh
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=it.mirko.beta' && \
cmd activity start --user 0 -a android.intent.action.VIEW -n it.mirko.beta/it.mirko.beta.login.LoadingActivity -f 0 it.mirko.beta
…I am not prompted to enter my password into the field. I’m not surprised, because it’s a WebView, and Bitwarden’s identification algorithm isn’t perfect.
Current Behaviour
Currently, in the hope of informing Bitwarden that it should identify this activity, I am able to add the application to a vault entry with androidapp: (like androidapp://it.mirko.beta), but that doesn’t explicitly add an activity. It adds the application.
Desired Behaviour
Instead, I should be able to supplement this by adding the specific activity to Bitwarden. To provide this, Bitwarden should support native AOSP intent URI syntax, like intent:#Intent;package=it.mirko.beta;component=it.mirko.beta/.login.LoginActivity;end. Heck, this is versatile enough to replace androidapp entirely.