2009-06-13 111 views
24

我创建了一个BroadcastReceiver并与android.provider.Telephony.SMS_RECEIVED动作过滤器配置它,所以它被称为每次在电话接收文本。用于发送短信的Android广播接收器?

是否有某些事件/动作或其他方式让我的应用程序在电话发送文本(最好独立于发送它的应用程序)时得到通知?

到目前为止,我看到的唯一选择是轮询content://sms/sent内容提供商不甚至给我所有已发送的文本,因为应用程序可以选择不把它放在那里。

+0

至于发送SMS消息(android.telephony.gsm.SmsManager)的API允许开发人员指定自定义意图发送成功或失败时要广播的,我不认为这是可能的监听发送一个“短信“意图。 – Henning 2009-07-06 21:53:52

+0

嗨约瑟夫,我想知道有什么更多的进步与此?我目前可以收听通过内容观察员发送的消息,但是我想停止通过GSM/CDMA网络发送短信并通过数据连接发送。您是否有任何关于如何阻止短信通过GSM/CDMA发送的见解? – 2010-04-01 11:59:48

回答

21

不幸的是,(目前)没有办法实现BroadcastReceiver因为手机短信的标准应用程序使用SmsManger发送邮件,但指定用于发送和传递意图(SmsReceiver.classMessageStatusReceiver.class分别)混凝土内部类。不,这是任何安慰,但你可以找到以下注释短信应用程序的source

// TODO: Fix: It should not be necessary to 
// specify the class in this intent. Doing that 
// unnecessarily limits customizability.

最好的选择似乎是轮询content://sms/sent,可能使用ContentObserver

相关问题