3

我正在尝试确定用户手机中的哪些联系人正在使用我的应用程序,类似于 WhatsApp 所做的。我在光标中有联系人列表,并试图找出一种有效的方法来将联系人列表与我的数据库进行比较,以查看谁在使用该应用程序。我可以这样做:

//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 吗?

4

1 回答 1

2

可能有更好的方法,但您可以首先在设备上构建电话号码列表,然后对接收此列表的端点进行单个 API 调用。然后让端点回复一个已知号码列表。这样,您只发出一个 HTTP 请求。

于 2013-11-11T08:00:47.390 回答