0

このコードを使用してエミュレータからSMSを取得しています。その後、DropBoxに送信する必要があります。いくつかのメッセージをエミュレータに保存すると、番号と本文の2つが取得されます。取得時に 間違った番号が表示されますが、正しいボディ。数値を修正する方法は、数値を変数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()メソッドを使用する

以下のリンクも参照してください。SMSuriのタイプ列

番号を取得しています。

于 2012-07-12T11:42:45.503 に答える
0

アドレスをIntではなくStringとして扱います。

問題は解決するはずだと思います。

文字列str=cursor.getString(c.getColumnIndexOrThrow( "address"));

よろしく、

dattatray。

于 2012-07-12T11:48:24.800 に答える