zoukankan      html  css  js  c++  java
  • 辅助

    package com.example.test01;
    
    import java.util.List;
    
    import android.R.bool;
    import android.accessibilityservice.AccessibilityService;
    import android.accessibilityservice.AccessibilityServiceInfo;
    import android.app.Notification;
    import android.app.PendingIntent;
    import android.app.PendingIntent.CanceledException;
    import android.view.accessibility.AccessibilityEvent;
    import android.view.accessibility.AccessibilityNodeInfo;
    
    public class MyAccessibilityService extends AccessibilityService {
    
        
        @Override
        public void onAccessibilityEvent(AccessibilityEvent arg0) {
            int eventyp = arg0.getEventType();
            if (eventyp == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
                List<CharSequence> texts = arg0.getText();
                if (texts != null) {
    
                    for (CharSequence charSequence : texts) {
                        //获取通知栏的标题
                        String string = String.valueOf(charSequence);
                    
                        if (string.contains("快抢单")) {
    
                            if (arg0.getParcelableData() == null || !(arg0.getParcelableData() instanceof Notification)) {
                                return;
                            }
                            
                            //模拟点击通知栏直接跳入Activity
                            Notification notification = (Notification) arg0.getParcelableData();
                            PendingIntent pendingIntent = notification.contentIntent;
                            try {
                                pendingIntent.send();
                            } catch (CanceledException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }
    
            } else if (eventyp == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
                
            
                if ("com.homelink.ui.app.arrange.BookShowActivity".equals(arg0.getClassName())) {
                    
                    if (getRootInActiveWindow() == null) {
                        
                        return;
                    }
                    
                    boolean isEnd=true;
                    List<AccessibilityNodeInfo> list=null;
                    while (isEnd) {
                        list = getRootInActiveWindow().findAccessibilityNodeInfosByText("赶紧抢"); 
                        if (list.size()>0) {
                            isEnd=false;
                        }
                    }
                     
                    for(int i=0;i<list.size();i++){
                        AccessibilityNodeInfo parent = list.get(i);  
                        if (parent.getClassName().equals("android.widget.Button")&&parent.isEnabled()) {  
                            parent.performAction(AccessibilityNodeInfo.ACTION_CLICK);  
                        }
                    }
                }
            }
    
        }
    
        @Override
        public void onInterrupt() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        protected void onServiceConnected() {
            // TODO Auto-generated method stub
            super.onServiceConnected();
            AccessibilityServiceInfo info = getServiceInfo();
            info.notificationTimeout = 100;
            info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
            info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
            info.packageNames = new String[] { "com.homelink.im" };
            setServiceInfo(info);
    
        }
    
    }
  • 相关阅读:
    SGX技术初探
    DH 密钥交换算法
    SSM整合框架实现ajax校验
    为什么要重写toString()方法和hashcode()方法
    java数组实现简单的DVD管理
    java冒泡排序
    windows下java环境变量配置
    Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
    Eclipse SVN 冲突的 介绍 及 四种解决方式
    java中的重载(overload)和重写(override)区别
  • 原文地址:https://www.cnblogs.com/qcgAd/p/5784610.html
Copyright © 2011-2022 走看看