Android:捕捉并拦截所有手势
Android: Catch and intercept all gestures
我正在为自定义 rom (Android 9) 构建自定义启动器,所以我有启动器的 root、系统 uid,甚至可以访问更改 android 源。
我想构建可在任何应用程序中随时使用的自定义手势。
所以我必须有能力倾听所有的手势,也许还有拦截它们的能力。
据我所知,可以在开发者设置中显示所有触摸事件,但它是如何实现的?此代码位于何处?或者还有其他地方可以监听触摸事件吗?
一些注意事项:
我尝试构建自定义辅助功能服务,它仅适用于点击事件,但我需要触摸事件。
how is it done? where this code is located?
对于android9,指针位置在PhoneWindowManager#enablePointerLocation中启用。 WindowManagerService 为 PhoneWindowManager 提供内部 API registerPointerEventListener。所以它可以获得所有的输入事件。
mWindowManagerFuncs.registerPointerEventListener(mPointerLocationView)
is there any other place where I can listen for touch event?
如果您可以修改框架并构建您的自定义 rom,那么您可以将相同的 API 添加到 WindowManager,然后您的应用程序可以调用这个新的 API 来监听触摸事件。
我正在为自定义 rom (Android 9) 构建自定义启动器,所以我有启动器的 root、系统 uid,甚至可以访问更改 android 源。 我想构建可在任何应用程序中随时使用的自定义手势。 所以我必须有能力倾听所有的手势,也许还有拦截它们的能力。
据我所知,可以在开发者设置中显示所有触摸事件,但它是如何实现的?此代码位于何处?或者还有其他地方可以监听触摸事件吗?
一些注意事项: 我尝试构建自定义辅助功能服务,它仅适用于点击事件,但我需要触摸事件。
how is it done? where this code is located?
对于android9,指针位置在PhoneWindowManager#enablePointerLocation中启用。 WindowManagerService 为 PhoneWindowManager 提供内部 API registerPointerEventListener。所以它可以获得所有的输入事件。
mWindowManagerFuncs.registerPointerEventListener(mPointerLocationView)
is there any other place where I can listen for touch event?
如果您可以修改框架并构建您的自定义 rom,那么您可以将相同的 API 添加到 WindowManager,然后您的应用程序可以调用这个新的 API 来监听触摸事件。