style - android material dialog



如何在没有Accessibility权限的情况下检测输入法选取器可见性 (1)

我向用户显示输入法选择器,弹出选择器:

InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

im.showInputMethodPicker();

现在,如果用户解雇了选择器(例如通过点击选择器外部),我想知道,发生了什么,并做了一些行动(例如显示通知)。

我知道在一个活动中,我可以做检查根布局焦点的肮脏的方式,我知道,通过可访问性权限,我可以检查该系统对话框是否重点。

问题是,我正在运行一个服务,我需要检测IME选择器是否显示,即使我不在我的应用程序(例如第三方应用程序,甚至是Android键盘设置),我也找到可访问性权限有点混淆的用户,因此我宁愿不诉诸于此,找到一种替代方法。

有其他的方法吗?


这应该是一个评论,但我还不能评论。

你可以使用xposed来实现,但这需要一个根植的设备,我猜这是讨论。

这是可访问性API所要求的。 你已经说过你不想用肮脏的方式,所以我建议你只使用这个API。

应该没有办法做到这一点,安全问题(而不是afaik)。





android-input-method