利用AccessibilityService写了一个 游戏登录器,。qq账号自动登录功能
从QQ飞车 跳转到 QQ授权登录。两个应用。从1图点击qq登录到2图时
了获取不到qq授权账号登录的节点元素。求大神帮忙看下
nowPackageName = event.getPackageName().toString();
if (nowPackageName.equals("com.tencent.mobileqq")) {
className = event.getClassName().toString();
System.out.println(className);
AccessibilityNodeInfo info= event.getSource();
Toast.makeText(MyAccessibilityService.this, className, Toast.LENGTH_LONG).show();
switch (className)
{
case "com.tencent.open.agent.AuthorityActivity":
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Toast.makeText(MyAccessibilityService.this, String.valueOf( info.getChildCount()), Toast.LENGTH_LONG).show();
for (int i=0;i<info.getChildCount();i++)
{
if (info.getChild(i)!=null)
{
//info.getChildCount()=4,但是子节点元素这里是空的。因为默认进来窗口就是这样,是不是刚开始有些元素没有加载上,所以导致子元素是空的,
//然后 窗口改变后,再回到这个窗口下,这里就有元素了。
server配置如下
android:description="@string/app_name"
android:packageNames="com.tencent.mobileqq"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFlags="flagDefault"
android:accessibilityFeedbackType="feedbackSpoken"
android:notificationTimeout="100"
android:canRetrieveWindowContent="true"/>