package com.gy.accessibilitydemo
import android.accessibilityservice.AccessibilityService
import android.os.Build.VERSION_CODES.P
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction
import android.view.accessibility.AccessibilityNodeInfo.FOCUS_INPUT
class TBAccessibility : AccessibilityService() {
var inputView : AccessibilityNodeInfo? = null
lateinit var rootWindow : AccessibilityNodeInfo
var handler = Handler(Looper.getMainLooper())
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
rootWindow = rootInActiveWindow;
val searchChildList = rootWindow.findAccessibilityNodeInfosByText("说点什么")
Log.i("cccccccccccc","searchChildList======$searchChildList")
if(searchChildList.isNotEmpty()){
val searchFirst = searchChildList[0];
Log.i("ccccccccc","searchFirst====${searchFirst.className}")
if(searchFirst.isClickable){
searchFirst.performAction(AccessibilityAction.ACTION_CLICK.id)
}
}
if(inputView == null){
val inputView = rootWindow.findFocus(FOCUS_INPUT)
if(inputView != null){
this.inputView = inputView
handler.postDelayed({
loopSendMsg()
},1000)
}
}
Log.i("cccccccccccc","inputView======$inputView")
}
private fun loopSendMsg(){
this.inputView?.performAction(AccessibilityAction.ACTION_SET_TEXT.id, Bundle().apply {
putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE,"1")
})
val sendBtnList = rootWindow.findAccessibilityNodeInfosByText("发送")
if(sendBtnList.isNotEmpty()){
sendBtnList[0].performAction(AccessibilityAction.ACTION_CLICK.id)
}
handler.postDelayed({
loopSendMsg()
},2000)
}
override fun onInterrupt() {
}
}