私は現在、SMS表示アプリケーションを作成しており、ContentResolverを使用して電話ですべてのSMSメッセージを取得しています(はい、リスクを理解しています)。他のアプリケーションと同様に、同じ人からのすべてのメッセージを1つのスレッドにグループ化し、それらからの最新のメッセージを表示し、最後のメッセージの日付順に連絡先を並べ替えます。
受信メッセージのアドレス値に関しては、すべての国コードが含まれています(例:+44123456789)。ただし、ユーザーが連絡先を保存するときは、国コードを無視して、ローカル形式で入力するだけで済みます。したがって、すべての送信メッセージは0123456789として保存されます。
したがって、データベースには、+ 44123456789と0123456789の両方の形式で同じアドレスが含まれます。この2つをどのように照合し、重複するアドレスを削除しますか?
注:1)同じ人からのメッセージは同じ「スレッドID」を持っていない可能性があります2)アドレスの「連絡先ID」/「表示名」の値がない可能性があります