我正在尝试读取用户的SMS消息并获取这些消息的发件人电话号码。当我尝试通过"address"
列获取消息的发件人的电话号码时,它将返回文本对话的电话号码(例如,如果我发送,则返回例如邮件发送给电话号码为 X 的用户,address
列将返回 X 而不是我的电话号码),而不是电话发送消息的人的号码。以下是我的Kotlin代码:
var cursor = contentResolver.query(
Uri.parse("content://sms/"),null,null
)
// Retrieve the IDs of the sender's name
var senderID = cursor!!.getcolumnIndex("address")
// Iterate through every message
while (cursor!!.moveToNext()) {
var messageSender = cursor.getString(senderID) // Get the sender of the message
System.out.println("---------------------------------------------------------")
System.out.println(messageSender) // Returns phone number of the conversation,not the sender
}
例如:电话号码为123456789的用户向您发送消息。我要获取电话号码123456789 。