我创建了一个BroadcastReceiver
并使用android.provider.Telephony.SMS_RECEIVED
操作过滤器对其进行了配置,因此每次手机收到文本时都会调用它。
每当电话发送文本(最好独立于发送文本的应用程序)时,是否有某种事件/操作或其他方式可以通知我的应用程序?
到目前为止,我看到的唯一选择是轮询内容提供者,content://sms/sent
因为应用程序可以选择不把它放在那里,所以它甚至没有给我所有发送的文本。
我创建了一个BroadcastReceiver
并使用android.provider.Telephony.SMS_RECEIVED
操作过滤器对其进行了配置,因此每次手机收到文本时都会调用它。
每当电话发送文本(最好独立于发送文本的应用程序)时,是否有某种事件/操作或其他方式可以通知我的应用程序?
到目前为止,我看到的唯一选择是轮询内容提供者,content://sms/sent
因为应用程序可以选择不把它放在那里,所以它甚至没有给我所有发送的文本。
不幸的是,(目前)没有办法实现 a BroadcastReceiver
,因为标准短信应用程序使用 a来发送消息,但为发送和传递的意图(和分别)SmsManger
指定了具体的内部类。这并不是什么安慰,但您可以在 Sms 应用程序的源代码中找到以下评论:SmsReceiver.class
MessageStatusReceiver.class
// TODO: Fix: It should not be necessary to
// specify the class in this intent. Doing that
// unnecessarily limits customizability.
最好的选择似乎是轮询content://sms/sent
,可能使用ContentObserver
.