0

このチュートリアルに従って、連絡先リストにある人の電話番号を取得しようとしています。このコードを使用すると、メールアドレスを取得できます。

if (cursor.moveToFirst()){
    int emailIdx = cursor.getColumnIndex(Email.DATA);  
    String email = cursor.getString(emailIdx);  
    Log.wtf("Email address: ", email); 
}

この理由に従って、次のように電話番号を取得しようとしました。

if (cursor.moveToFirst()){
    int phoneNrIdx = cursor.getColumnIndex(Phone.DATA);
    String phoneNr = cursor.getString(phoneNrIdx);
    Log.wtf("Phone number:", phoneNr);
}

残念ながら、これは電子メールアドレスも返します。この連絡先の電話番号を取得する方法を知っている人はいますか? すべてのヒントは大歓迎です!

4

1 に答える 1

1

Email.DATA と Phone.DATA はどちらも同じ文字列、つまり「data1」と同じです。これは、カーソル内のデータを保持する列の名前であるため、両方のコード スニペットは事実上同じです。

あなたが Email.CONTENT_URI を照会したことを理解しています。したがって、カーソルには列 'data1' にのみ電子メール アドレスがあります。

電話番号も取得するには、カーソルを閉じてから Phone.CONTENT_URI をクエリして、代わりに電話番号を保持しているカーソルを取得します。

于 2013-09-27T11:34:15.943 に答える