我有一个SMS应用程序,它维护自己的SMS数据库,与Messages和其他典型SMS应用程序使用的主系统数据库分开。我想这样做,以便当另一个应用程序发送短信(如Google即时,或MightyText,或其他无GUI的方法发送短信)时,该消息被导入到我正在处理的应用程序中。为此,我需要在发送SMS时和/或将传出SMS保存到系统SMS数据库时触发操作。
是否有广播意图我可以注册听取这个?如果没有,那么观察和响应此事件的最低开销方式是什么?
IFTTT和Tasker应用程序可以收听已发送的短信,因此我知道这是可能的。不幸的是,它们都不是开源的,所以我看不出它们是如何做到的。
答案 0 :(得分:0)
你看过Telephony SMS Intents了吗?似乎有像RESULT_SMS_HANDLED
这样的东西另一种可能性是观察短信收件箱(Telephony.Sms.Inbox.CONTENT_URI)内容提供商的变化。但我认为这只有在您的应用运行时才有可能。