3

我正在开发接收 SMS 并处理它们的 Android 应用程序。除了一瞬间,一切都很好。我不知道如何将自定义发件人 ID 转换为字母名称。例如,我从一家银行收到 SMS,我看到一个数字而不是银行名称,但另一个应用程序显示银行的名称。

这是我的代码

            Uri allSMSes = Uri.parse("content://sms");

            String[] strColumns = { TextBasedSmsColumns.ADDRESS,
                                "MAX(" + TextBasedSmsColumns.DATE + ") as " + TextBasedSmsColumns.DATE,
                                "COUNT(" + TextBasedSmsColumns.BODY + ") as number",
                                "SUM(" + TextBasedSmsColumns.READ + ") as " + TextBasedSmsColumns.READ};

            Cursor c = getContentResolver().query(allSMSes, strColumns, 
                                                  "1=1) group by (" + TextBasedSmsColumns.ADDRESS ,null, null);

我尝试在 Android 5.1 和 6.0 上运行它

4

1 回答 1

1

我想你想要的是发件人ID。这可以由发件人设置,如果他没有将其设置为字母(名称),您将无法检索它。我所知道的。

编辑:我认为您需要的是 Person 或 Creator 列。

https://developer.android.com/reference/android/provider/Telephony.TextBasedSmsColumns.html在这里您可以看到您可以获得的所有列。

于 2016-07-05T13:36:28.343 回答