1

在我的应用程序中,我有两个 EditText 和一个 Button。如果我按下按钮,我想在这两个编辑框中选择联系人姓名和号码。

    <EditText android:textSize="16.0dip" 
        android:gravity="left" 
        android:id="@+id/contact_numbersub" 
        android:layout_width="160.0dip" 
        android:layout_height="36.0dip" 
        android:text="Mobile" 
        android:maxLines="1" 
        android:layout_below="@+id/contact_number" 
        android:layout_alignParentRight="true">
        <requestFocus />
    </EditText>


    <EditText 
        android:id="@+id/contact_number"
        android:textSize="16.0dip" 
        android:gravity="left" 
        android:layout_width="160.0dip" 
        android:layout_height="36.0dip" 
        android:text="Unknown Caller" 
        android:maxLines="1" 
        android:layout_alignParentTop="true" 
        android:layout_alignParentRight="true" />

              <Button 
        android:gravity="center" 
        android:id="@+id/contactbutton" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/contactlist" 
        android:layout_toRightOf="@id/contact_label" 
        android:layout_alignTop="@id/contactimage" 
        android:onClick="onClickSelectContact"/>

我已经定义了从图库中拾取图像的 onActivityResult 方法。所以我在这里很难检索联系人姓名和号码。图像检索成功,但我没有联系人检索的解决方案

感谢任何可以提供帮助的人。

4

2 回答 2

1

这不是完整的解决方案,但我希望它会有所帮助。

假设我的按钮点击如下

   btncontact.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent i=new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
        startActivityForResult(i,1);//Request_code is 1
    }
});

findViewById(R.id.button5).setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent i=new Intent(Intent.ACTION_PICK);
            i.setType("image/*");
        startActivityForResult(i,2);//Request_code is 2
    }
});

现在,对于 onActivityResult,

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(data!=null && data.getData()!=null){
        Uri _uri=data.getData();
            Log.d("Nzm", ""+_uri);


        switch(requestCode){
                    case 1:
                           // you have _uri in your hand which have contact id. Do necessary steps for contact as you want here.
                          break;
                    case 2:// Action for your image
                           Intent i=new Intent(Intent.ACTION_VIEW);
                           i.setData(_uri);
                           startActivity(i);
                           break;
                    }
              }
       }
于 2013-10-10T13:41:35.313 回答
0

你见过访问联系人数据吗?请特别注意检索联系人的详细信息

于 2013-10-10T13:14:58.917 回答