【发布时间】:2019-04-10 17:01:46
【问题描述】:
我正在尝试创建一个包含 chrome 访问站点记录器功能的应用程序
这是我的 AccessibilityService
class CoreService : AccessibilityService(){
override fun onInterrupt() {
return
}
var TAG = "app:"
override fun onServiceConnected() {
Log.i(TAG,"Connected")
}
override fun onAccessibilityEvent(event: AccessibilityEvent) {
Log.i(TAG,"onAccessibilityEvent")
onChromeActivity(getRootInActiveWindow())
}
fun onChromeActivity(nodeInfo: AccessibilityNodeInfo) {
var result = "|"
var arra = nodeInfo.findAccessibilityNodeInfosByText("http");
for (i in 0 until arra.size) {
result += "\n" + arra.get(i).toString();
}
Log.i(TAG,"result: $result")
}
}
xml配置
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagDefault|flagIncludeNotImportantViews|flagRequestTouchExplorationMode|flagRequestEnhancedWebAccessibility|flagReportViewIds|flagRetrieveInteractiveWindows"
android:accessibilityEventTypes="typeWindowStateChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="0"
android:canRetrieveWindowContent="true"
android:packageNames="com.android.chrome"
android:description="@string/desc"/>
到目前为止,我得到了这个 logcat
2018-11-07 17:08:15.516 19631-19631/com.jmg21.omgi I/app:: 结果:| android.view.accessibility.AccessibilityNodeInfo@8000ccce; boundsInParent: 矩形(0, 0 - 681, 131); boundsInScreen: 矩形 (115, 71 - 796, 202);包名:com.android.chrome;班级名称: android.widget.EditText;文字:https://www.google.com;错误:空; 最大文本长度:-1;内容描述:空; viewIdResName: com.android.chrome:id/url_bar;可检查:假;检查:假; 可聚焦:真;重点:假;选择:假;可点击:真; 长点击:真;上下文可点击:假;启用:真;密码: 错误的;可滚动:假;行动:等等......
问题是:
1.如果我尝试去其他网站,我只会一次得到这个,没有任何反应
2.我无法获取网址
请帮助,并在此先感谢您!
【问题讨论】:
标签: android google-chrome kotlin accessibilityservice