Android 检测哪个应用程序正在发送短信

有没有一种方法来检测正在发送截获的短信的应用程序?

有没有一种方法来检测正在发送截获的短信的应用程序?

在我的代码中,我可以拦截传出和传入的短信,读取身体,电话号码等,但我不知道是否有一种方法来检测发送短信的应用程序 / 包。我搜索过,但没有运气。提前感谢。我正在使用的库来拦截短消息:

Sms Radar on GitHub

请注意,我不是在谈论应用程序这是默认的消息传递应用程序。有时其他应用程序如 WhatsApp 发送短信来验证用户。这些类型的短信不会在发件箱 / 发送的消息中可见,尽管我可以在发送 / 接收时检测到它们。

所以我只想知道到底是哪个应用程序(包名)现在发送短信。

1

AFAIK 您无法检测哪个应用程序正在发送 SMS。它只是没有保存在内容存储中。

但是,您可以使用容易出错的解决方法:
列出当前运行的所有应用程序,这些应用程序在发送 SMS 时具有 SEND_SMS 权限(也可能具有 Internet 权限)。

另一种(未经测试)的方式可能是使用Thread.currentThread().getStackTrace()通过迭代返回的数组读取 onSmsSent()中的堆栈,直到您到达可以发送 SMS 的应用程序。但我想这不会工作,因为 Android 最有可能对内容存储所做的任何更改。

0

所以我只是得到了前台进程的列表,当我的 onSMSSent () 被调用并找到正在发送 SMS 的应用程序,在列表的顶部。

虽然这可能不是一个坚实的解决方案,但正如 @ Ch4t4r 所说,似乎没有解决方案可以直接获取短信发送应用程序,并且技巧听起来足够好。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(859)
呼叫计时器在被叫方接受呼叫后立即开始计数(call timer ios app)
上一篇
调用 Swift协议扩展方法而不是子类中实现的方法
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(44条)