如何在 Android 中读取存储在 SIM 卡中的短信

How to read SMS stored in SIM card in Android

我想知道是否有人知道在 android 平台上以编程方式从 phone 的 SIM 卡中获取 SMS 消息。

我想编写一个程序,允许您将单个消息或整个线程保存到 SD 卡,但在四处寻找之后,我发现 google 决定将其删除api 来自当前的 android SDK。

我在一些地方看到有隐藏的 API,但没有人知道它们是什么或如何使用它们。

您可以使用 URI content://sms/icc 管理保存在 SIM 卡上的短信。它也适用于 Android 的最新版本。

例如,这会将光标的内容打印到 System.out:

Cursor cursor = getContentResolver().query(Uri.parse("content://sms/icc"), null, null, null, null);
DatabaseUtils.dumpCursor(cursor);

您需要权限:

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>

您可以在此处找到完整示例: https://github.com/android/platform_packages_apps_mms/blob/master/src/com/android/mms/ui/ManageSimMessages.java