0

我做了很多研究,但找不到任何帮助;

我的问题是:我需要创建一个应用程序,用户可以在其中选择他手机上的一些联系人添加到此应用程序中,他/她以后可以通过特殊模板中的短信与他们通信。但用户只需选择一个电话号码即可在此应用程序上对该用户有效。必须为以后的登录放弃此选择。

我能够使用查找键检索联系人及其电话号码(将保存在我的应用程序中作为预选用户的参考),但我不知道如何标记所需的电话号码,我正在考虑添加一个标志到电话号码,但我不知道如何,我不知道这是否是正确的方法,我想将选定的电话号码设置为主要电话号码,然后在需要时查询 t ......或者只是保存电话号码 ID(但是如果用户更改电话号码,我不确定保存 ID 是否安全)...

谢谢任何帮助...

4

2 回答 2

1

经过长时间的反复试验,我找到了解决问题的方法。我将使用联系人查找键来存储联系人和电话 id 来存储电话号码......如下:

String selection =  ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY + " = '" + lookupkey+ "' and "+Phone._ID+"='"+phoneid+"'";
        String[] projection =new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER};
         Cursor managedCursor = getContentResolver()
                .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                 projection, selection, null,  Phone.DISPLAY_NAME + " ASC");
于 2013-02-12T06:59:18.943 回答
0

我对所有这些东西都有些陌生。据我了解, id 匹配很快,但可能不稳定。如果 key+id 匹配失败,您还应该尝试仅使用 key 进行较慢的匹配 - Jeffrey Scofield 的 SQL 选择字符串可以更改为尝试 id-and-key OR key-only(信任查询优化器优先 id 匹配) .

我没有太多运气找到有关长期存储密钥的智慧的信息。

于 2014-09-20T22:23:11.233 回答