You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android系统如何查询是哪个应用开启了移动数据开关

查询移动数据开关触发进程的可行方案

调试场景(无需Root,仅适用于开发测试阶段)

  • 首先打开目标设备的「开发者选项」,开启USB调试并连接到电脑
  • 执行以下命令监听系统移动数据切换日志:
    adb logcat -s ConnectivityService | grep "setMobileDataEnabled"
  • 日志输出中会直接携带触发请求的应用UID,格式示例:setMobileDataEnabled: enabled=true, uid=10234
  • 拿到UID后执行以下命令匹配对应的应用包名:
    adb shell pm list packages -U | grep 10234
    注意:该方法依赖系统日志缓存,仅能查询到最近几小时内的开关变更记录,无法回溯更早的历史操作

长期记录/历史查询场景(需要Root或ROM定制权限)

  • 若设备已Root,可直接读取系统持久化日志文件/data/system/connectivity-service.log,该文件会记录所有移动数据开关的变更时间、触发UID、对应包名信息
  • 若要自定义生成历史日志,可开发系统级监听服务,监听android.intent.action.ANY_DATA_STATE_CHANGED广播,收到广播时调用getCallingUid()方法获取请求发起进程的UID,匹配包名后写入本地持久化文件即可

此前常见的移动数据状态查询方法仅能获取开关当前状态,无法拿到操作触发主体信息,必须通过系统服务层的日志或系统级API才能获取对应数据

内容的提问来源于stack exchange,提问作者bounxye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:36:03