获得相同的联系

时间:2014-03-11 13:57:08

标签: android android-cursor

我正在使用意图开始联系应用程序,并且每次我选择不同的联系人时从列表中选择联系人但我一次又一次地获得相同的联系人,我也不知道它是哪个联系人?我不知道发生了什么事?

这是我的代码

 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
                      startActivityForResult(intent, PICK_CONTACT);

和活动结果

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     {
        super.onActivityResult(requestCode, resultCode, data);

        Cursor c = null;
        try
        {
            if(requestCode == PICK_CONTACT)
            {
                 Uri contactData = data.getData();
                 c =  getContentResolver().query(Phone.CONTENT_URI, null, null, null, null);
                    if (c.moveToFirst()) 
                    {
                      reciever = c.getString(c.getColumnIndex(Phone.NUMBER));
                      reciever = Main.removeCharacters(reciever);
                      int size = reciever.length();
                      Log.v(TAG, "To send "+reciever);
                      reciever = reciever.substring(size - 6, size);
                    }
              new UploadPic().execute("");
            }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            if(c != null)
            {
                c.close();
                Log.v(TAG, "Cursor Closed");
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

您正在将联系人URI指定给contactData但尚未使用它。当您致电query()传递contactData第一个参数而不是Phone.CONTENT_URI时。