私はここで関連するいくつかの質問を読みましたが、これに対する答えを見つけることができません:私はAndroid 2.1デバイス(HTC Incredible)を持っています。ただし、私のアプリは初期の(SDK 5より前の)デバイスと互換性がある必要があるため、非推奨の形式のフィルターURIを使用しています。
Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
番号の形式は15555551212です。これにより、少なくとも私のデバイスでは連絡先が見つかりません。ただし、新しい(SDK 5以降)ContactsContract形式のURIに変更する
Uri contactUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
成功につながります。元々、連絡先の対応する番号は+1 555 555 5555の形式でしたが、入力番号15555555555と完全に一致するように変更しましたが、古い形式のURIは引き続き失敗します。どちらの場合も、新しい形式のURIは成功します。
なぜこれが当てはまるのかについて誰かが考えていますか?困った!