0

私はアンドロイドでSMSを読み込もうとしています。マニフェストファイルには、次のものがあります。

<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を超えるSMSがあるのに、出力が次のようになることです。

メッセージ数:17

私はこれこれこれ、そしてこれを見てきました。誰かが問題が何であるか教えてもらえますか?

4

1 に答える 1

3

あなたは列数を求めています:

cursor.getColumnCount()

これはあなたが望むものとは非常に異なります:

cursor.getCount()

getCount()カーソルの行数、この場合は受信ボックスのメッセージ数を返します。

getColumnCount()各行の列数を返します。id、sender、message、timeなど。ここで2番目の答えを読んでください:AndroidのSMSに関連付けられているデータベース列はいくつですか?

于 2012-10-05T18:05:26.867 に答える