我正在构建一个辅助服务,就像对讲一样,但我没有使用触摸屏手势来控制智能手机。
我能够浏览UI的所有项目,并成功使用accessibilityNodeInfo滚动listViews和ScrollViews。但是,在关于主屏幕时,我不知道如何在它们之间进行更改。
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
但是我希望得到一个主屏幕列表,并且能够像滑动手势一样滚动它们。
我尝试根据 Omerjerk 的RemoteDroid执行模拟手势但没有成功。
int source = InputDevice.SOURCE_TOUCHSCREEN;
float pressure = 1.0f;
try {
ei.injectMotionEvent(source,MotionEvent.ACTION_DOWN, systemClock.uptimeMillis(), 800,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis(), 790, 200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis() , 670,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis() , 560,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis() , 450,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis() , 340,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_MOVE, SystemClock.uptimeMillis() , 230,200, pressure );
ei.injectMotionEvent(source,MotionEvent.ACTION_UP, SystemClock.uptimeMillis(), 120,200, pressure );
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
你能帮我提一下如何在屏幕之间切换吗? 提前致谢!
答案 0 :(得分:0)
我已经使用AccessibilityNodeInfo解决了问题,即使用户看不到窗口的所有节点。然后我关注元素来改变屏幕