在android中读取短信,显示错误的计数

时间:2012-10-05 17:56:20

标签: android sms

我正在尝试在android中读取短信。在我的清单文件中,我有:

<uses-permission android:name="android.permission.READ_SMS" />

我的代码:

Cursor cursor = getContentResolver().query(Uri.parse("content://mms-sms/inbox"), null, null, null,null);
((TextView) findViewById(R.id.info1)).setText("Number of messages: " + cursor.getColumnCount());

问题是我的收件箱中有超过17个微笑,但它提供的输出是

消息数量:17

我查看了thisthisthisthis。有人可以告诉我们问题是什么吗?

1 个答案:

答案 0 :(得分:3)

您要求列数

cursor.getColumnCount()

这与你想要的完全不同:

cursor.getCount()

getCount()返回Cursor中的行数,或者在这种情况下返回收件箱中的邮件数。

getColumnCount()返回每行中的列数;如id,发件人,消息,时间等。请在此处阅读第二个答案:How many database columns associated with a SMS in android?