短信号码不正确?
我正在使用此代码从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();
任何溶液?
在你的代码使用
Number = c.getInt(c.getColumnIndexOrThrow("address"));
使用c.getString(c.getColumnIndexOrThrow("address"))
方法,而不是getInt()
方法
见下面的链接太多,类型列在短信URI
谢谢Ankit.I现在得到了正确的答案。它显示所有带数字的短信,号码是10位数的手机号码,我在模拟器中保存了一些数字作为与特定姓名的联系人,但在展示上它只显示数字,而不是该联系人的姓名。为什么它会发生......它不会出现姓名? – Hari 2012-07-12 11:58:12
如果它解决了您的问题,请将其标记为已接受。对于第二个问题,您需要通过一个接一个地从COntacts内容提供商处获取联系人姓名。将此答案标记为已接受,在StackO上发布另一个问题。在这里给链接,我会在那里发布另一个答案。 – AAnkit 2012-07-12 12:00:58
当然,感谢您的回复......其实问题是我没有使用联系人内容提供者。 – Hari 2012-07-12 12:01:44
对待地址为String而不是Int。
我认为它应该可以解决问题。
String str = cursor.getString(c.getColumnIndexOrThrow(“address”));
问候,
dattatray。
Dattatray .......我得到了答案我知道哪里是错误其实..谢谢..但它没有显示我保存在模拟器中的数字的名称 – Hari 2012-07-12 11:59:09
什么它显示在数字的地方..和你在哪里显示数字 – AAnkit 2012-07-12 11:37:47
尝试使用:String number = dataCursor.getString(dataCursor.getColumnIndexOrThrow(“address”));是的,你必须使用以小写字母开头的变量名。 – Hiral 2012-07-12 11:42:40
在ListView中显示数字...而不是来到保存的数字它来了一些其他的数字 – Hari 2012-07-12 11:43:11