Android 1.5:阅读短信

Posted

技术标签:

【中文标题】Android 1.5:阅读短信【英文标题】:Android 1.5: Reading SMS messages 【发布时间】:2010-10-28 08:51:47 【问题描述】:

我正在为 android 创建一个备份实用程序,我需要读取收件箱、发件箱和 dratfs 的内容。如何在 SDK v1.5 上实现这一点?

【问题讨论】:

【参考方案1】:

有一个content provider 用于访问 SMS 消息,但它没有记录在公共 SDK 中。如果您使用ContentResolver.query()Uricontent://sms,您应该能够访问这些消息。

您可以找到更多信息on this Google Groups thread 或previous questions on ***。

【讨论】:

【参考方案2】:

如果您可以打开到内部调制解调器的连接并运行AT commands(不确定这是如何完成的),那么您可以通过以下方式备份(剥离 cmets):

AT+CSCS="UTF8"      // select character set
AT+CMEE=2           // turn on extended error reporting
AT+CPMS="ME","ME"   // select message storage in the phone
AT+CMGL=4           // read all messages
AT+CPMS="SM","SM"   // select message storage on SIM
AT+CMGL=4           // read all messages

您当然应该在发出每个命令后等待 OK。命令详情请​​参考27.005和27.007。

【讨论】:

你们中的一些人可以否决这个请解释为什么你认为这个答案应该得到总共 4 次反对?对我来说,这表明一些完全错误和糟糕的建议。这个答案只是目前不可能的事情(但请记住,Android 稍后可能会添加对此的支持,然后这个答案将是一个完全可行的选择)。一个downvote可能没问题(尽管我明确表示答案是“也许以下工作......”类型的答案),但我发现-4不合适。 contentresolver 甚至不是经过批准的公共开发方法,它具有缓存和对您建议的方法的各种其他改进。人们不赞成您的答案,因为这是不好的做法。您正在打破 Java 和 Android 提供的抽象。

以上是关于Android 1.5:阅读短信的主要内容,如果未能解决你的问题,请参考以下文章

Android开发:《Gradle Recipes for Android》阅读笔记1.5

Android 从收件箱获取短信,优化的方式来阅读所有消息并将它们分组

Redmi手机不询问短信权限,因此不阅读短信

在 Android 中显示撰写短信视图

Android广播组件实践——短信黑名单

Android发送短信解决字数限制问题