WhatsApp と同様に、ユーザーの電話からどの連絡先が自分のアプリを使用しているかを判断しようとしています。Cursor に連絡先のリストがあり、連絡先のリストをデータベースと比較して、誰がアプリを使用しているかを確認する効率的な方法を見つけようとしています。私はこのようにすることができます:
//for each contact
while (this.cursor.moveToNext())
{
String phoneNumber = cursor.getString(2);
String sanitizedPhoneNumber = phoneNumber.replaceAll("\\D", "");
//query db to see if user exists
boolean userExists = restClient.checkIfUserExists(sanitizedPhoneNumber);
//save all results in hashmap
//"phoneNumber":"exists"
//"5556781234":"true"
}
このようにすると、連絡先の数によっては、Web サービスへの API 呼び出しが何百回も連続して行われる可能性があるため、代替手段を探しています。より良い方法はありますか?SyncAdapter を使用する必要がありますか?