长期以来,Google一直忽略了Android上的密码管理器,但是Android O会改变这种情况。AndroidO的自动填充框架 将极大地改善用户/密码数据输入, 并且将不再需要性能昂贵的无障碍服务,但不幸的是,它将在大多数设备都无法使用Android O之前还需要一段时间。对于我们这些等待数月才能在我们的设备上使用Android O的人来说,标准的密码管理器功能就足够了。一个个人最喜欢的XDA-Developers小组中是Keepass2Android 这是流行的开源的安卓端口的KeePass密码管理器。Keepass2Android允许您从所选的云存储中访问密码数据库,并且还具有指纹数据库解锁和/或通过完整密码的简写快速访问数据库的功能。但是,一项很漂亮的功能已被锁定多年,只有root用户才能使用:自动切换键盘/输入法。一个名为KeyboardSwap的新Keepass2Android插件旨在解决该问题。

Android中的许多密码管理器都提供自己的键盘(在Android中也称为输入法),因为众所周知,Android系统剪贴板不安全。任何请求读取剪贴板的权限的应用程序都会自动获得授予它的权限,而无需用户输入,并且除非您了解App Ops命令行的方式,否则也无法轻易撤消该权限。Keepass2Android没什么不同,它的键盘虽然美观,但可以完成工作。但是,在许多Android设备上,没有无需设置即可更改输入法的快捷方法。OEM和自定义ROM的某些软件在通知面板或导航栏中提供了输入法切换器,但许多软件则没有。这就是为什么Keepass2Android的自动键盘切换功能如此有用的原因。
在我们的以Keepass2Android为特色的XDA Spotlight文章的评论中,我们的一位用户指出,Keepass2Android仍在依靠过时的安全设置 应用程序来自动切换输入法。既然我们现在知道安全设置的大多数功能都可以在没有root用户访问的情况下复制,所以我认为Keepass2Android可以用另一个应用替换安全设置。我通过电子邮件提出了Keepass2Android开发人员Philipp Crocoll,并提出了一个非根解决方案,该解决方案是KeyboardSwap插件。
它的工作方式很简单。该应用程序使用WRITE_SECURE_SETTINGS权限,该权限通常受用户应用程序限制,但可以通过Android调试工具(ADB)中的程序包管理器命令行界面手动授予。您所要做的就是从Google Play商店安装插件,确保您使用的是Keepass2Android beta版,然后在设置ADB后在命令提示符/终端中输入以下命令:
然后,插件可以将Keepass2Android输入法服务的名称写入 设置中,并且在下次需要键盘输入时Android会自动打开此键盘。当然,实际上必须在Keepass2Android中启用此服务,方法是进入设置–>应用程序设置–>密码输入访问–>键盘切换,然后切换“自动切换键盘”功能。Settings.Secure.DEFAULT_INPUT_METHOD
例如,如果您当前的默认键盘是Gboard,则KeyboardSwap插件将另存为当前键盘,然后在应用程序中选择密码条目后将DEFAULT_INPUT_METHOD更改为。当您关闭Keepass2Android输入法时,KeyboardSwap插件会将Gboard输入法服务还原为DEFAULT_INPUT_METHOD设置。
对于最终用户,一旦授予许可,插件“就可以使用”。设置完成后,您无需担心与插件相关的任何事情。您可以从应用程序抽屉中隐藏应用程序图标,而再也无需触摸它。如果您恢复出厂设置或卸载,然后重新安装该应用程序,则只有这样,您才需要再次授予权限。否则,这是一个简单的插件,您可以设置并忘记它,它会使您的密码输入速度更快。

