2
無法從模擬器讀取短信。我需要能夠將短信的「正文」轉換爲字符串,以便在TextView或EditView中顯示。我不是試圖使用「onRecieve」短信,而是閱讀短信。我可以通過DDMS設備模擬器控制(Windows7)或使用2個模擬器(即從端口5554發送到端口5556)發送到模擬器。消息顯示在模擬器中,但是當我嘗試讀取短信時,cursor.getCount( )只返回O,即使在仿真器上顯示「body」(即短信文本)。我認爲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();}
我試過這個,但是直接通過這個方法和錯誤消息:該方法已被棄用到「onCreate」。 –
另外我會提到我已將READ_SMS權限添加到AndroidManifest.xml文件。 –
已棄用表示它仍在工作,但有更好的實現(CusorLoader)。活動內部的方法是什麼? –