【发布时间】:2014-12-05 09:36:23
【问题描述】:
所以我开始创建一个非常简单的应用程序,并阅读了如何在应用程序中设置手势。
我想知道是否有办法为安卓设备设置全局手势?
如果应用程序在后台运行(根本不在屏幕上)并且用户在屏幕上做了一些手势。我可以控制吗?我可以根据该手势启动或激活某物吗?
如果可以的话,请给我一些详细的信息。我对此有点陌生。
谢谢。
【问题讨论】:
标签: android xamarin xamarin.android gesture gestures
所以我开始创建一个非常简单的应用程序,并阅读了如何在应用程序中设置手势。
我想知道是否有办法为安卓设备设置全局手势?
如果应用程序在后台运行(根本不在屏幕上)并且用户在屏幕上做了一些手势。我可以控制吗?我可以根据该手势启动或激活某物吗?
如果可以的话,请给我一些详细的信息。我对此有点陌生。
谢谢。
【问题讨论】:
标签: android xamarin xamarin.android gesture gestures
全局接收触摸手势的唯一方法是使用启用了FLAG_REQUEST_TOUCH_EXPLORATION_MODE 标志的AccessibilityService。当这样的AccessibilityService处于活动状态时,将进入“触摸探索模式”。结果是(引用自上面的链接)
在此模式下,在屏幕上移动的单个手指就像鼠标指针悬停在用户界面上一样。系统还会检测在触摸屏上执行的某些手势并通知此服务。
系统检测到的手势在AccessibilityService documentation 中列出。请考虑到这对整个系统的使用有很大的影响。
此外,AccessibilityService 必须由用户通过可访问性系统设置手动启用。
【讨论】:
AccessibilityService 必须手动启用。当您启动辅助功能设置时,您很可能会找到一个包含内置“TalkBack”AccessibilityService 的列表。安装包含自己的 AccessibilityService 的应用后,它也会在此处列出。