安卓发送短信意图是什么?

3

嘿!我想知道当Android发送消息时它发送了哪个意图。以及如何在我的应用程序中监听此意图。我希望当我在原生的Android消息应用中发送一条消息时,我的应用程序可以监听此意图,从而知道已发送新消息。

那么这是哪个意图,并且如何监听此意图呢?

谢谢。

2个回答

2
我相信意图是:
public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_SENT";

这个人写了一篇关于如何构建BroadcastReceiver来完成这个任务的文章。

http://mobiforge.com/developing/story/sms-messaging-android

然而,我通过 Android 文档进行了快速搜索,并没有找到 android.provider.Telephony 类。它可能在最新版本的 Android 中不再受支持。但是,值得尝试。如果您能回复评论让我知道这个意图是否仍然有效,那将非常棒。不确定为什么它不在文档网站上。
以下是关于监听短信接收事件的类似问题:
android.provider.Telephony.SMS_RECEIVED 不可用

我会尝试,但是在你解析的链接http://mobiforge.com/developing/story/sms-messaging-android中,那个人是从他自己的消息应用程序发送消息的,而我使用的是本机消息应用程序,所以他创建了自己的应用程序,并发送了他想要的意图,现在,在本机消息应用程序中,我们不知道它发送什么,或者是否发送。=/但我会尝试这个解决方案,并回复你。谢谢。 - rogcg

2
我想知道当安卓发送短信时发送的意图是什么。
据我所知,当安卓发送短信时并没有广播任何Intent。这可能是出于隐私原因以及其他原因。

1
我不认为这是出于隐私原因,这没有意义。我认为最好的替代方案似乎是轮询 content://sms/sent,可能会使用 ContentObserver。我不知道,你对此有何看法? - rogcg
@psychlo:你提出的所有想法都不被Android SDK支持。在Android操作系统中没有短信内容提供程序。对于一些预装AOSP消息应用程序的设备,存在一个内容提供程序,但是Google已经告诉你不要使用它(http://android-developers.blogspot.com/2010/05/be-careful-with-content-providers.html),并且它可能不存在于所有设备上。 - CommonsWare
那么,这个问题没有解决方案吗?你有什么建议? - rogcg
@psyhclo:我的建议是你应该专注于应用程序的其他能力。 - CommonsWare
@CommonsWare:你是说我应该忘掉这个函数?不实现这种函数?就这样忘了它? - rogcg
@psyhclo:正如我所写的,我的建议是你专注于应用程序的其他功能。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接