企业网站建设方案市场,松江泗泾附近做网站,wordpress教程书本,wordpress 侧边栏宽度你是不是和我一样#xff0c;在开发无障碍应用的时候#xff0c;翻边了Android的AccessibilityService源码 但是就是发现不了onGesture不执行的原因#xff1f;
你是不是和我一样#xff0c;在好多测试手机之间徘徊#xff0c;发现还是不执行#xff1f;
你是不是和我一…你是不是和我一样在开发无障碍应用的时候翻边了Android的AccessibilityService源码 但是就是发现不了onGesture不执行的原因
你是不是和我一样在好多测试手机之间徘徊发现还是不执行
你是不是和我一样开始怀疑自己当前Android api版本
你是不是翻阅Android官方文档好几遍
你是不是百度了好久都没找到合适的答案
如果以上你都遇到了就证明你的语文阅读能力不达标。请你仔细阅读android的官方文档。
监听手势
无障碍服务可以监听特定手势并通过代表用户执行操作进行响应。此功能是在 Android 4.1API 级别 16中添加的它要求无障碍服务请求激活“触摸浏览”功能。服务请求激活该功能的方法是将其 AccessibilityServiceInfo 实例的 flags 成员设为 FLAG_REQUEST_TOUCH_EXPLORATION_MODE如以下示例所示。
public class MyAccessibilityService extends AccessibilityService {
Override
public void onCreate() {
getServiceInfo().flags AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE;
}
…
}
服务请求激活“触摸浏览”之后用户必须允许开启该功能如果尚未激活。激活此功能后服务可通过其 onGesture() 回调方法接收无障碍手势的通知并且可以通过为用户执行操作进行响应。
————————————————from(世纪)原文链接https://blog.csdn.net/qq_39469700/article/details/123831250
仔细阅读“触摸浏览”是什么。我最开始就有这个疑问因为没有接触过所以一直碰壁。
触摸浏览我个人认为就是
类似于talkback读屏下选中屏幕控件焦点的一种无障碍浏览方式它支持滑动选中双击执行
三指滑动屏幕。
所以说我们需要把“触摸浏览”的相关配置配置ok就OK了。点击flags的成员配置静态变量官方文档会看到如下
标记_请求_触摸_探索_模式在API 级别 16中添加
public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE此标志请求系统进入触摸探索模式。
在这种模式下在屏幕上移动的单个手指就像鼠标指针悬停在用户界面上一样。系统还将检测在触摸屏上执行的某些手势并通知此服务。如果至少有一个无障碍服务设置了此标志系统将启用触摸探索模式。因此清除此标志并不能保证设备不会处于触摸探索模式因为可能有另一个启用的服务请求它。
对于面向 Android 4.3API 级别 18或更高版本的无障碍服务
想要设置此标志必须通过将属性设置 canRequestTouchExplorationMode为 true 在其元数据中声明此功能
否则该标志将被忽略。
针对 Android 4.2.2API 级别 17或更低版本的服务将正常运行。换句话说第一次运行时如果指定了此标志则会向用户显示一个对话框以确认启用触摸浏览。仔细查看我加黑的地方在我百度了好久之后发现好多小伙伴和我一样一直执着为什么不执行。但就是不仔细查看官方文档。并且有些结果很鸡肋也很没用。
?xml version1.0 encodingutf-8?
accessibility-servicexmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:descriptionstring/accessibility_descandroid:accessibilityEventTypestypeAllMaskandroid:accessibilityFeedbackTypefeedbackGenericandroid:accessibilityFlagsflagReportViewIds|flagIncludeNotImportantViews|flagRequestTouchExplorationMode|flagRequestFingerprintGesturesandroid:canRetrieveWindowContenttrueandroid:canRequestFilterKeyEventstrueandroid:canPerformGesturestrueandroid:notificationTimeout0android:canRequestFingerprintGesturestruetools:targetApio/
并且您的配置文件也要添加其他的type这里我就不多说了 ,官方文档很清晰。需要什么添加什么。 最后就完美的解决了 您的手势就可以识别到了并且是全局的这时你会发现手机卡了这里说明一下是因为这个手势监听本就是为了有障人群浏览屏幕信息和一些快捷操作而定的。并不是让你搞黑产弄的如过想不卡可以去了解一下
如果想做成全局的你可以做成x什么pode的面具插件。
最后我在说一句,别人写的你用到就看看心情好就给个赞好多乐色抄袭别人的博客导致现在优质博客全部需要金额而且你抄袭就抄袭你的markdown语法能不能也抄上你的一篇文章都是代码而且是左对齐你很牛你知道吗