android通过辅助功能收集数据

Android无埋点数据收集SDK关键技术解析 前言  本文基于网易乐得无埋点数据收集SDK,无埋点数据收集SDK用于向大数据平台提供全量,完整,准确的客户端数据.   Android端无埋点数据收集SDK实现中涉及到比较关键的技术点有: 1. 用字节码插桩的方式实现Android端的AOP(“Hook”) 2. 唯一定位界面上任何控件的ViewID 3. Fragment页面的合理划分 4. 自定义数据收集DSL,用于线上配置,即时收集定制的业务数据 阅读详情

android 通过辅助功能收集数据

顶着雷的一篇文章。

大家都知道android是有辅助功能的,开启位置在:设置->辅助功能。很多的app也会申请辅助功能的权限。像应用宝,手机管家,360… … 。

可辅助功能能做的事情不仅仅是能帮我们自动安装app那么简单,今天的这篇博文介绍的是通过android辅助功能收集手机界面的数据。

我这个程序包括3个部分:

  • 1app(通过辅助功能收集手机数据,并且上传到server)
  • 2server(缓存app上传的数据)
  • 3html(展示server缓存的数据)

第一部分app开发

这个app我已经上传到github上,地址是:
https://github.com/44xiao44/myaccessibility

开发这个app主要包括以下部分;

1配置文件

首先在AndroidManifest.xml中配置service

<service
  android:name=".MyService"
  android:enabled="true"
  android:exported="true"
  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_config" />

</service>

可以看到在service中引用了一个配置文件@xml/accessibility_config,这个是配置辅助功能的配置文件
我的配置如下:

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:accessibilityEventTypes="typeAllMask"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags=""
    android:canRetrieveWindowContent="true"
    android:description="@string/accessibility_service_description"
    android:notificationTimeout="100" />

android:accessibilityEventTypes=”typeAllMask”
这个用来设置响应事件的类型,typeAllMask就是响应所有类型的事件了。还可以配置以下事件类型:
可选类型

android:accessibilityFeedbackType=”feedbackGeneric”
这个用来设置回馈给用户的方式,还可以配置如下类型
回馈给用户的方式

android:accessibilityFlags=”“这个用来设置辅助功能标记,在这里我没设置任何标记。

android:canRetrieveWindowContent=”true” 这个用来设置是否可以检索窗口内容,这里我设置为true。

android:description=”@string/accessibility_service_description” 这个用来设置辅助功能描述,也就是在设置页面开启辅助功能显示的描述。

android:notificationTimeout=”100” 这个用来设置响应时间。

2service 实现部分

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    LogNote(event);
}

这个方法是接受辅助功能事件的方法。我在这里调用了LogNote方法,LogNote方法把接受的event 转换了json,并发送到了服务端。这里我说明一下。这个event 是个树形结构。我们可以爬树找到根节点。也可以直接通过getRootInActiveWindow()方法获取根节点。

第二部分web server开发

这个server只是作为一个临时存数据的地方,我并没有设计数据库部分,只是把数据存在了内存中,数据随用随取。github地址:
https://github.com/44xiao44/DataServer
这里面设计了3个接口:
1上传一条数据
2获取一条数据
3清空数据
每个接口都是根据设备id进行的操作。 通过
ConcurrentHashMap<String, Queue<String>>
来存储不同设备的数据。
每个设备的数据存在不同的Q中。

第三部分html开发

这里用于展示从手机也没获取的数据。点一次刷新按钮从服务端获取一条数据,然后解析这条数据,同那个div,input 等标签动态画出数据的内容。github 地址:
https://github.com/44xiao44/ShowData

使用步骤

1启动server工程:我的server工程中会循环打印当前存储的数据量:开始启动的时候可以在控制台看到:

map is empty 
-----------------------

当server中有数据时可以在控制台看到:

ID ZmZmZmZmZmYtY2UyZC02OWEyLWZmZmYtZmZmZmJlNTZjMzEw has : 28
------------------------

是的ID后面的内容是:app安装设备的ID
has: 后面的内容是:这个设备上传了多少条数据

2启动app工程: 注意在app页面中先设置serverIP和端口。
然后点击“点击激活应用的辅助功能”,去打开辅助功能。之后在手机中去任意页面都能上传数据了。

3在html页面中设置server 的 ip 端口,还有设备ID后点击下面的“refresh”就能逐帧的获取server 的数据了。

android APP性能数据收集 APP性能数据收集操作指南   功能描述 集成monkey功能, 以及在手工测试app端功能时,自动收集相关数据,并生成HTML报告。   实现方法   1、采用python脚本来驱动测试;   2、调用androidSDK adb与monkey命令,进行数据采集和稳定性测试;   3、采集数据写入文件和数据库;   4、附带android其他小脚本,便于测试过程中使用; 阅读详情

相关推荐

关于收集 Android Telephony 网络信息的设计思考

在android telephony data 模块实现网络状态信息的收集,Provider应用进行数据存储,如何进行架构设计和代码开发?

。 1112

Android 辅助功能使用

Android 系统有一个功能是专门为残障人士准备的,辅助功能,可以帮助做很多事。

li_xianyuan的博客 839

6、“Innova”:助力护理人员的数字应用与数据库

“Innova” 是一个专为家庭和朋友护理人员设计的数字应用与数据库系统,旨在通过收集和分析现有辅助技术产品、系统和服务的信息,支持设计师开发更符合护理人员需求的创新解决方案。该系统采用跨学科协作模式,结合护理学与设计技术,构建了一个包含前端数据采集应用和后端数据分析平台的封闭式架构。用户可通过安卓设备提交辅助技术使用体验,系统则通过可视化工具帮助识别市场机会与设计缺口。未来,“Innova” 计划扩展至iOS和网页端,并推动商业化发展,以促进辅助技术领域的持续创新。

herb5的博客 72

通过辅助工具进行安卓 Toast 文本检查的方法

转载地址:https://testerhome.com/topics/3750 问题来源 Appium自动化框架在android端有两种模式,Seledroid和Uiautomator。Seledroid本身就提供了Toast信息检查的接口,所以无需考虑。但Uiautomator模式下,Toast信息无法获取,google官方也只是列为一个需求在后期实现,暂时没有提供合适的解决方案

可口可乐的博客 4693

Android辅助功能Demo

移植Android系统自带的ClockBackService实例

保姆级教程:2025新版JavPlayer 3.01整合修复版安装配置全流程(N卡/A卡/CPU通用)

本文提供2025新版JavPlayer 3.01整合修复版的保姆级安装配置教程,涵盖N卡、A卡和CPU环境。详细讲解硬件要求、分步安装流程、显卡优化配置及超分辨率模型选择,帮助用户高效完成视频修复任务。

weixin_42665255的博客 1903

Android 辅助功能(AccessibilityService)获取界面节点

本文介绍了如何利用Android辅助功能获取微信界面节点的方法。主要内容包括:1)创建辅助功能配置文件,指定监听微信应用;2)配置字符串资源和清单文件注册服务;3)实现核心辅助功能服务类,通过递归遍历获取界面节点信息并打印文本内容。开发环境要求Android Studio 2020+版本和Android 8.0+真机设备,无需第三方库。文章特别强调了节点资源回收的重要性,避免内存泄漏问题。该方法可用于实时监听微信界面变化,获取节点文本信息。

赵航的博客 592

Windows下用Docker快速搭建SearXNG私有搜索引擎(附Dify集成配置)

本文详细介绍了在Windows环境下使用Docker快速搭建SearXNG私有搜索引擎的完整流程,包括环境准备、容器化部署、安全配置优化以及与Dify平台的深度集成方法。通过分步指导和实用配置示例,帮助开发者构建兼具隐私保护和AI增强能力的本地化搜索解决方案,特别适合需要定制化搜索服务的应用场景。

weixin_30300225的博客 336

获取开启的辅助服务列表

static final char ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR = ':'; // Auxiliary members. final static SimpleStringSplitter sStringColonSplitter = new SimpleStringSplitter(ENABLED_ACCESSIBILITY_SERVI

chengjiamei的专栏 1248

NSGA-III相关笔记

NSGA-III目录目的区别NSGA-III的算法流程非支配排序详解归一化详解 目录 NSGA-III基于matlab的实现 参考文献 1.An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach,Part I: Solving P...

weixin_42555400的博客 1万+

[STM32]HAL STM32F103 软件I2C读写MPU6050(附DMP库移植)

本文介绍了如何在STM32F103C8T6上通过I2C协议与MPU6050传感器通信并实现DMP功能。首先,使用STM32CubeMX配置项目,设置时钟和I2C接口。然后,编写软件I2C协议的读写函数与MPU6050交互。接着,移植DMP库并进行必要修改,获取加速度计和陀螺仪数据,并将其转换为欧拉角显示在OLED上。最后,利用Keil的逻辑分析仪监测I2C时序。

m0_56841583的博客 2327

这么好的Android开发辅助工具App不白嫖可惜了

过年期间闲来没事,手撸了一个辅助Android开发调试的工具App,适合Android开发者和测试同学使用。点击直接或者去。

2201_76108770的博客 262

从SIGGRAPH审稿人视角看:什么样的TOG论文更容易被接收?

本文从SIGGRAPH审稿人视角深入解析TOG论文的审稿标准与投稿策略,揭示如何提升论文接收概率。重点探讨创新性、技术深度、实验验证等核心评分维度,并提供写作技巧与审稿意见应对策略,帮助研究者优化ACM Transactions on Graphics投稿质量。

weixin_33721344的博客 109

白嫖一个好用的Android 开发辅助工具!

作者:小码哥哥https://juejin.cn/post/7194736298521788472闲来没事,手撸了一个辅助Android开发调试的工具App,适合Android开发者和测试同学使用。下载试用地址:githubhttps://github.com/CodeCrafts-app/CodeCrafts/raw/master/codecrafts-release-latest-versio...

Android技术之家 531

Pinocchio 快速详细入门教程 —— 开源机器人运动学动力学库

本文介绍了机器人学中的数字机器人学、正逆运动学、动力学仿真与控制、最优控制等核心主题,以及Pinocchio库的应用。内容包括: 数字机器人学:通过UR5机器人模型演示了构型空间采样、碰撞检测、路径规划等基础操作,使用优化方法在约束条件下寻找有效构型。 运动学:详细讲解了二维和三维机器人的正运动学(构型到末端位置)和逆运动学(目标位置到构型),包括串联机械臂和并联机器人的处理。 动力学与控制:介绍了动力学仿真(如自由落体、摩擦效应)、PD控制、计算扭矩控制,以及接触仿真(碰撞检测与处理)。 最优控制:以独轮

机器人控制与仿真应用 2883

UE4打包为Framework库嵌入iOS原生工程

UE4打包为Framework库嵌入iOS原生工程

tangfuling1991的博客 1294

使用Ruam Mij Android检测可疑应用:完整教程

Ruam Mij是一款专为Android设备设计的开源可疑应用检测工具,能够帮助用户识别潜在威胁并保护设备安全。本教程将详细介绍如何使用Ruam Mij进行全面的设备安全扫描,无需专业技术知识即可轻松上手。 [![Ruam Mij应用标志](https://raw.gitcode.com/GitHub_Trending/ru/ruam-mij-android/raw/ed538663aee876

gitblog_00284的博客 461

【华为OD机试】真题E卷-一种字符串压缩表示的解压(C++)

有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串aaabbccccd 经过压缩变成字符串 3abb4cd请您编写解压函数,根据输入的字符串, 判断其是否为合法压缩过的字符串若输入合法则输出解压缩后的字符串 否则输出字符串!error来报告错误。

u014481728的博客 895

Fate/Grand Automata:终极Android自动化工具,告别FGO重复刷本

Fate/Grand Automata(简称FGA)是一款专为Fate/Grand Order(FGO)玩家设计的免费开源Android自动化工具。通过智能图像识别技术模拟人工操作,帮助玩家自动完成日常副本、素材收集等重复性任务,每天可节省3-5小时游戏时间。这款自动化脚本无需Root权限,支持Android 7及以上系统,是FGO玩家的终极效率工具。 ## 项目简介与核心价值 FGA的核心价

gitblog_00842的博客 301

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Flutter 框架跨平台鸿蒙开发 - 创意灵感收集

运行效果图创意灵感收集是一款创意工具应用,为手工爱好者提供灵感收集和管理平台。应用以创意的紫色为主色调,象征灵感与创造力。用户可以快速收集灵感、分类整理、添加标签、记录创作过程,打造专属的创意灵感库。序号类型名称Emoji描述1手工制作✂️剪纸、折纸、编织2绘画艺术🎨素描、水彩、油画3陶艺雕塑🏺陶器、泥塑、雕刻4布艺缝纫🧵刺绣、缝纫、拼布5木工制作🪵木雕、家具、模型6金属工艺⚙️首饰、铁艺、焊接7纸艺创作📄卡片、书签、装饰8综合材料🎭。

2401_83963227的博客 414

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

研究发现安卓手机收集用户数据是同类iPhone 20倍

本文转载自 腾讯科技 无论你使用的是iPhone还是安卓设备,它们都会不断地向苹果或谷歌发送数据,包括你的位置、电话号码和本地网络详细信息。爱尔兰都柏林圣三一大学(Trinity College Dublin)的计算机科学教授道格·莱斯(Doug Leith)最近对两大平台收集的数据量进行了对比,发现典型安卓手机收集的用户数据大约是iPhone的20倍。 据莱斯发现,iOS和安卓系统都在不断收集所谓的遥测数据,并分别将其发送给苹果和谷歌。这些信息的范围从将SIM卡插入智能手机到与硬件和应用程序交互等。即

m0_46163918的博客 3108

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java毕设安卓基于安卓嵌入式教学辅助软件(开题+源码)

首先,该软件能够为学生提供个性化的学习路径,根据学生的学习进度和兴趣点,推送相应的教学资源,实现精准教学。本研究的目的是开发一款基于安卓平台的嵌入式教学辅助软件,旨在为学生提供更加便捷、高效的学习体验,同时提升教师的教学效果。此外,软件还将根据学生的学习进度和成绩,智能推荐相关知识点,帮助学生巩固薄弱环节,提升学习效果。通过对学生管理、知识点梳理以及科目分类等功能的深入研究与实现,本软件将为学生提供一个全面、便捷的学习平台,助力提升教学质量和学习效果。

qh602的博客 1010

APP性能数据收集操作指南

执行src目录下run_performance.py,即可进行性能数据的收集工作,在数据收集期间,请手工进行app端的功能测试,这样的数据采集才具有意义。集成monkey功能, android测试工作中常用测试脚本,以及在手工测试app端功能时,自动收集相关数据,并生成HTML报告。src目录下,执行run_monkey.py,可调用monkey命令进行稳定性测试,产生的日志信息记录在report目录下。(4)处理获取数据,写入文本文件,同时入库(SQLIte)(5)绘曲线图,并生成HTML测试报告。

Gavin Blog 1377

[Unity]收集报错日志(2)--安卓崩溃日志收集

       之前不是写了篇收集报错日志上传ftp服务器的文章,那时候因为某些原因,我只有权限上传到ftp服务器上,但是在压测的时候发现很多问题,连接打不开,因为ftp有权限设置,还有连接人数上限,这就尴尬了,这就导致很多报错信息没有收到。这完全不符合需求,因此,需要后台PHP来处理。        PHP来处理就非常简单了,只需要上传字符串就行。性能上也优化了,皆大欢喜。代码就很简单,不说什么...

学习之路 3593

java毕设安卓绿色能量收集与兑换平台app(开题+源码)

同时,随着人们对环保意识的提高,越来越多的消费者开始关注产品的环保属性,这也为绿色能量兑换礼品的市场提供了广阔的发展空间。通过精准记录用户的步数数据,实现绿色能量的实时累积与展示;通过这些功能的实现,旨在为用户提供一种全新的绿色出行体验,同时推动社会环保意识的提升和绿色产业的发展。能量累积的速度和兑换礼品的价值需要平衡,既要激发用户的积极性,又要确保平台的可持续性。综上所述,本研究将围绕安卓绿色能量收集与兑换平台App的系统功能展开深入研究,旨在为用户提供一种全新的绿色出行体验,并推动社会环保事业的发展。

qh602的博客 1200
上一篇: 让MAC读出代码
下一篇: 读取用户出口ip
RobertLee~~~~~~~~
博客等级 码龄18年 14粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值