在我的应用程序中,我有两个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方法。所以我在这里找到联系人姓名和号码很困难。图像检索成功,但我没有联系人检索的解决方案
感谢任何有帮助的人。
答案 0 :(得分: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;
}
}
}
答案 1 :(得分:0)
你见过Accessing Contacts Data吗?请特别注意检索联系人的详细信息。