android: 如何获取短信发送者的字母名称?
android: how can I get alphabetic name of SMS sender?
我正在开发 Android 接收短信并处理短信的应用程序。除了片刻,一切正常。我不知道如何将自定义发件人 ID 转换为字母名称。例如我从银行收到短信,看到的是数字而不是银行名称,但另一个应用程序显示的是银行名称。
这是我的代码
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
上 运行
我想你想要的是发件人ID。
这可以由发件人设置,如果他没有将其设置为字母(名称)您将无法检索它。据我所知。
编辑:
我认为您需要的是 Person 或 Creator 列。
https://developer.android.com/reference/android/provider/Telephony.TextBasedSmsColumns.html在这里你可以看到所有你能得到的列。
我正在开发 Android 接收短信并处理短信的应用程序。除了片刻,一切正常。我不知道如何将自定义发件人 ID 转换为字母名称。例如我从银行收到短信,看到的是数字而不是银行名称,但另一个应用程序显示的是银行名称。
这是我的代码
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
上 运行我想你想要的是发件人ID。 这可以由发件人设置,如果他没有将其设置为字母(名称)您将无法检索它。据我所知。
编辑: 我认为您需要的是 Person 或 Creator 列。
https://developer.android.com/reference/android/provider/Telephony.TextBasedSmsColumns.html在这里你可以看到所有你能得到的列。