短信号码不正确?

短信号码不正确?

问题描述:

我正在使用此代码从Emulator中检索SMS。之后,我需要将其发布到DropBox.I保存一些消息给Emulator,它将检索两件事Number和Body.At检索时显示 错号但正确的身体。如何更正号码,我将号码保存到变量号码。我的代码在这里,我正在使用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(); 

任何溶液?

+1

什么它显示在数字的地方..和你在哪里显示数字 – AAnkit 2012-07-12 11:37:47

+0

尝试使用:String number = dataCursor.getString(dataCursor.getColumnIndexOrThrow(“address”));是的,你必须使用以小写字母开头的变量名。 – Hiral 2012-07-12 11:42:40

+0

在ListView中显示数字...而不是来到保存的数字它来了一些其他的数字 – Hari 2012-07-12 11:43:11

在你的代码使用

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

使用c.getString(c.getColumnIndexOrThrow("address"))方法,而不是getInt()方法

见下面的链接太多,类型列在短信URI

retrieving number.

+0

谢谢Ankit.I现在得到了正确的答案。它显示所有带数字的短信,号码是10位数的手机号码,我在模拟器中保存了一些数字作为与特定姓名的联系人,但在展示上它只显示数字,而不是该联系人的姓名。为什么它会发生......它不会出现姓名? – Hari 2012-07-12 11:58:12

+0

如果它解决了您的问题,请将其标记为已接受。对于第二个问题,您需要通过一个接一个地从COntacts内容提供商处获取联系人姓名。将此答案标记为已接受,在StackO上发布另一个问题。在这里给链接,我会在那里发布另一个答案。 – AAnkit 2012-07-12 12:00:58

+0

当然,感谢您的回复......其实问题是我没有使用联系人内容提供者。 – Hari 2012-07-12 12:01:44

对待地址为String而不是Int。

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

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

问候,

dattatray。

+0

Dattatray .......我得到了答案我知道哪里是错误其实..谢谢..但它没有显示我保存在模拟器中的数字的名称 – Hari 2012-07-12 11:59:09