我试图从用户的收件箱中读取短信,但我只收到号码,因为cur.getString()
总是向我返回NULL,索引为2后......
这是我的代码:
TextView view = (TextView)findViewById(R.id.textView1);
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
String sms = "";
while (cur.moveToNext())
{
sms += "From :" + cur.getString(2) + " : " + cur.getString(11)+"\n";
Log.i("MyApp", "A " + cur.getString(2) + " " + cur.getString(3));
}
view.setText(sms);
我已经检查了,cur.getString(3)
及以上,总是向我返回null ...
我的错误是什么?
谢谢!
编辑:
感谢simas,我发现包含消息数据的body
字段是Cursor(cur)
中的字段编号12,而不是11.因此将其从11更改为12固定它。
谢谢simas!
答案 0 :(得分:1)
试试这个:
cur.moveToFirst();
if (cur != null) {
do {
sms += "From :" + cur.getString(2) + " : " + cur.getString(11)+"\n";
Log.i("MyApp", "A " + cur.getString(2) + " " + cur.getString(3));
}while(cur.moveToNext());
}