android 按钮中断,android – 如何“中断”在AccessibilityService中执行的操作?

我想做什么/我做了什么:我正在尝试为视障用户制作一个非常基本的TalkBack版本.我做了一个简单的辅助功能服务,读取用户点击的按钮的contentDescription并大声读出.

@Override

public void onAccessibilityEvent(AccessibilityEvent event) {

// get the source node of the event

AccessibilityNodeInfo source = event.getSource();

if (source == null) {

return;

}

// Check if a button is clicked and speak out the content

if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED

&& BUTTON_CLASS_NAME.equals(source.getClassName()) {

Log.d("Button clicked", source.getViewIdResourceName().toString());

convertTextToSpeech(source.getContentDescription().toString());

}

if (source != null)

source.recycle();

return;

}

问题:但是,这样一来,用户就无法在按下单击按钮之前实际执行触发的操作之前听取按钮的描述.当用户收听描述时,已经点击了按钮并且已经执行了动作.

问题:如何中断操作(例如:在单击按钮后打开新活动),以便用户可以使用我提供的反馈安全地浏览屏幕上的当前视图,而无需启动新活动或触发其他操作?

类似于Talkback中发生的事情:用户单击以听取描述,双击以执行操作.除非用户双击,否则Talkback如何阻止动作发生?我已经研究过TouchExplorationMode,但我猜它主要用于手势而不是点击.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值