zoukankan      html  css  js  c++  java
  • AccessibilityService 使用


    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("通知123")) { 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.example.test02.MainActivity02".equals(arg0.getClassName())) { if (getRootInActiveWindow() == null) { return; } List<AccessibilityNodeInfo> list = getRootInActiveWindow().findAccessibilityNodeInfosByText("点击啥"); 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.example.test02" }; setServiceInfo(info); } }

    AndroidManifest.xml:

    <service
                android:name=".MyAccessibilityService"
                android:label="辅助123"
                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" >
                <intent-filter>
                    <action android:name="android.accessibilityservice.AccessibilityService" />
                </intent-filter>
                <meta-data  
                         android:name="android.accessibilityservice"  
                         android:resource="@xml/accessibility_service_config" /> 
            </service>

    在res新建XML文件配置辅助参数:

    <?xml version="1.0" encoding="utf-8"?>
    <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"  
        android:canRetrieveWindowContent="true"  />  
  • 相关阅读:
    小程序配置 全局配置
    浅谈 Nginx和LVS的各种优缺点
    LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
    用Camshift算法对指定目标进行跟踪
    AsyncTask源代码解析
    shell中的${},##和%%的使用
    hdu 1081 &amp; poj 1050 To The Max(最大和的子矩阵)
    POJ 1141 Brackets Sequence (区间DP)
    Ejb in action(六)——拦截器
    7.JAVA编程思想笔记隐藏实施过程
  • 原文地址:https://www.cnblogs.com/qcgAd/p/5783883.html
Copyright © 2011-2022 走看看