返回信息流由于实验室需要,最近学习安卓,刚刚入门,实现了可以查看短信记录、联系人列表、通话记录。但是导师说要做个短信电话监测的东西,大概意思就是比如360助手校准流量的时候要发送一条短信给联通,还有一些其他的应用也可能会发送短信或者拨打电话出去,我怎么能够监测到是哪个应用进行了上述行为并且显示出来呢?现在一般查看的都是短信和通话记录,但是能不能同时查看是具体哪个应用发起了短信和通话行为呢?
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #22685同步于 2015/6/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
[问题]【安卓】如何监测是某个应用发送了短信或者拨打了电话?
chujunhe1234
2015/6/2镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
大神啊,按照你的思路电话监测我做出来了,可以看到最近的电话是哪个应用发起的,默认是系统的,短信的思路也一样吗?
【 在 yxyyinxinyu 的大作中提到: 】
: 监听android.intent.NEW_OUTGOING_CALL之后看recent task里最后一个是谁。。。
电话和短信都有至少两种方式吧,一种是直接在自己的代码里直接发送或者呼叫,另一种是intent去调真正的电话短信应用。两种情况下调用者是最后运行的应用或者倒数第二个
【 在 chujunhe1234 的大作中提到: 】
: 大神啊,按照你的思路电话监测我做出来了,可以看到最近的电话是哪个应用发起的,默认是系统的,短信的思路也一样吗?
: 【 在 yxyyinxinyu 的大作中提到: 】
: : 监听android.in
: .........
发自「贵邮」
短信这块遇到问题了,我用的是ContentObserver,观察sms数据库的变化,如果有变化则监测,但是有个问题就是,手机短信发送的比较慢,我这个时候在某个应用里发送短信,比如360那个流量校准的,有延时怎么办,就是我点发送,我退出当前应用好久短信才发出去,数据库才会有变化,这时候观察到的应用就不是发送的那个了。。。
【 在 yxyyinxinyu 的大作中提到: 】
: 电话和短信都有至少两种方式吧,一种是直接在自己的代码里直接发送或者呼叫,另一种是intent去调真正的电话短信应用。两种情况下调用者是最后运行的应用或者倒数第二个
:
: 发自「贵邮」
你有root权限吗
【 在 chujunhe1234 的大作中提到: 】
: 短信这块遇到问题了,我用的是ContentObserver,观察sms数据库的变化,如果有变化则监测,但是有个问题就是,手机短信发送的比较慢,我这个时候在某个应用里发送短信,比如360那个流量校准的,
: .........
发自「贵邮」
木有啊,实验室的手机没敢root。这有什么关系?
【 在 yxyyinxinyu 的大作中提到: 】
: 你有root权限吗
:
: 【 在 chujunhe1234 的大作中提到: 】
: : 短信这块遇到问题了,我用的是ContentObserver,观察sms数据库的变化,如果有变化则监测,但是有
: .........
发自「贵邮」
你有root权限的话可以hook系统函数,没有的话估计就是监测到事件之后看最后运行的应用了
【 在 chujunhe1234 的大作中提到: 】
: 木有啊,实验室的手机没敢root。这有什么关系?
:
: 【 在 yxyyinxinyu 的大作中提到: 】
: : 你有root权限吗
: :
: : 【 在 chujunhe1234 的大作中
: .........
发自「贵邮」
实验室配的导师说不让root,以后给拿不值钱的手机让我root试试。不root的话代码发送出去的短信只有发送出去了才能在已发送箱中看得到,还是不能实时的监测。愁啊。。。
【 在 yxyyinxinyu 的大作中提到: 】
: 你有root权限的话可以hook系统函数,没有的话估计就是监测到事件之后看最后运行的应用了
:
: 发自「贵邮」
然后窝想起来好像短信是从什么发件箱到已发送变化的,你可以监视那个发件箱的uri
【 在 chujunhe1234 的大作中提到: 】
: 实验室配的导师说不让root,以后给拿不值钱的手机让我root试试。不root的话代码发送出去的短信只有发送出去了才能在已发送箱中看得到,还是不能实时的监测。愁啊。。。