0

我正在使用此代码从 Emulator 中检索 SMS。之后我需要将其发布到 DropBox。我将一些消息保存到 Emulator,它检索了 Number 和 Body 两件事。在检索时它显示了 错误的 Numbers但是正确的身体。如何更正数字,我将数字保存到变量Number中。我的代码在这里,我使用的是 2.1 版本。

代码

ContentResolver cr = getContentResolver();
Cursor c = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
while(c.moveToNext()){

Number = c.getInt(c.getColumnIndexOrThrow("address"));

Body = c.getString(c.getColumnIndexOrThrow("body")).toString();

smslist.add( Number + ":" +"\n"+ Body);
    }
itemAdapter.notifyDataSetChanged();

c.close();

有什么解决办法吗?

4

2 回答 2

1

在您使用的代码中

Number = c.getInt(c.getColumnIndexOrThrow("address"));

c.getString(c.getColumnIndexOrThrow("address"))方法代替getInt()方法

也请参见下面的链接,SMS uri 中的类型列

检索号码。

于 2012-07-12T11:42:45.503 回答
0

将地址视为 String 而不是 Int。

我认为它应该可以解决问题。

String str = cursor.getString(c.getColumnIndexOrThrow("address"));

问候,

数据托盘。

于 2012-07-12T11:48:24.800 回答