无法从模拟器读取短信。我需要能够将短信的“正文”转换为字符串以显示在 TextView 或 EditView 中。我不是在尝试使用“onRecieve”短信,而是阅读短信。我可以通过 DDMS Devices Emulator Control(Windows7) 或使用 2 个模拟器发送到模拟器,即从端口 5554 发送到端口 5556。消息显示在模拟器中,但是当我尝试读取短信时,cursor.getCount( ) 仅返回 O,即使“正文”(即短信文本)显示在模拟器上。我认为 cursor.getCount() 必须等于 1 或更大才能读取短信,但它仅 = 0。我该怎么做才能让模拟器显示 cursor.getCount() > 0,并让我实际上阅读短信正文?即如何使以下代码工作。使用模拟器时,计数说它等于0,
if(count>0){
if(cursor.moveToFirst()){
body = cursor.getString(cursor.getColumnIndexOrThrow("body")).toString();
txtLastSMS.setText(body);
}
}
以下是相关代码:
Uri CONTENT_URI = Uri.parse("content://sms/sent");
Cursor cursor = getContentResolver().query(CONTENT_URI, null, null, null, null);
String body = null;
if (cursor != null)
try
{
int count = cursor.getCount();
if(count>0){
if(cursor.moveToFirst()){
body = cursor.getString(cursor.getColumnIndexOrThrow("body")).toString();
txtLastSMS.setText(body);
}
}
}
finally{ cursor.close();}