私のコードをチェックアウト私はSMSアプリケーションでいくつかの作業をしていますが、私は現在、SMSに付属しているアドレスと連絡先に格納されている番号を照合しようとしています...ヘルプが必要... SMSの連絡先の照合
エミュレータには2つの連絡先しか含まれていないため、これまでの連絡先と一致することができず、送信者の名前が表示されていませんでした。接触...
public List<String> getSMS() {
List<String> sms = new ArrayList<String>();
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,
null);
ContentResolver cr = getContentResolver();
Cursor contactsCur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
Cursor phoneCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
"DISPLAY_NAME = '" + name + "'", null, null);
Log.v(LOG_TAG, "going in loop");
if (contactsCur.getCount() > 0) {
Log.v(LOG_TAG, "inside loop");
while (contactsCur.moveToNext()) {
Log.v(LOG_TAG, "cursor moving to next");
id = contactsCur.getString(contactsCur
.getColumnIndex(ContactsContract.Contacts._ID));
Log.i(LOG_TAG,"this is id: " + id);
name = contactsCur
.getString(contactsCur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = cr.query(Phone.CONTENT_URI, null,
Phone.CONTACT_ID + " = " + id, null, null);
Log.i(LOG_TAG, "This is name "+name);
while (phones.moveToNext())
{
number = phones.getString(phones
.getColumnIndex(Phone.NUMBER));
String aNumber=number.replaceAll("-", "");
Log.i(LOG_TAG,"this is number :"+aNumber);
Log.v(LOG_TAG, "getting address and message");
while (cur.moveToNext()) {
String address = cur.getString(cur
.getColumnIndex("address"));
if(address.equals(aNumber))
address=name;
String body = cur.getString(cur
.getColumnIndexOrThrow("body"));
sms.add("Number: " + address+ " .Message: " + body);
}
Log.v(LOG_TAG, "closing phone cursor");
phoneCur.close();
}
}
}
return sms;
}
:) ....それを一般化するのに役立ちます:私の編集した答え多くは、私が探していたものthatsの – Hiral
はい感謝を参照してください。 ...しかし、今私はすべてのSMSを同じ連絡先からグループ化する必要があります...そして、保存されている連絡先もいくつかあります...国コードだけが違いますが、表示されません。私はこれらの2つのことを成し遂げますか? – kashifmehmood
@kashifmehmood:私は自分の答えを更新しました。そして、あなた自身もコードを作成してください。完全なコードを書くことはできません。上記のコードより、どのように動作するか考えてみましょう。 。 – Hiral