【发布时间】:2017-03-11 05:56:50
【问题描述】:
我已经能够使用以下代码使用无障碍服务阅读 chrome 内容
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagDefault"
android:accessibilityEventTypes="typeWindowStateChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="0"
android:canRetrieveWindowContent="true"
android:packageNames="com.android.chrome"
android:description="@string/accessibility_description"
/>
我使用监听窗口更改事件
public void onAccessibilityEvent(AccessibilityEvent event) {
if(AccessibilityEvent.eventTypeToString(event.getEventType()).contains("WINDOW")){
AccessibilityNodeInfo nodeInfo = event.getSource();
dfs(nodeInfo);
}
}
public void dfs(AccessibilityNodeInfo info){
if(info == null)
return;
if(info.getText() != null && info.getText().length() > 0)
System.out.println(info.getText() + " class: "+info.getClassName());
for(int i=0;i<info.getChildCount();i++){
AccessibilityNodeInfo child = info.getChild(i);
dfs(child);
child.recycle();
}
}
现在基于 URL 内容,我想在从设备存储中获取静态页面后打开重定向 chrome 到不同的页面或加载静态页面。我试图实现它,但直到现在都没有成功。任何帮助,将不胜感激。提前致谢。
【问题讨论】:
-
我也在等待解决方案。
-
试试 Selendroid selendroid.io/mobileWeb.html 稍后谢谢
-
@XylemRaj 的解决方案成功了吗?
标签: android google-chrome accessibilityservice