【问题标题】:Android Contacts formAndroid 联系人表单
【发布时间】:2011-12-06 13:57:29
【问题描述】:

是否有可能在 Android 中实现 联系人表单,就像在 iPhone 上实现的那样?

那么,我的意思是,是否有一个框架中可以使用的默认 Android 联系人站点? 它不必像 iPhone 上的那样。

我想使用包含联系人数据的 Extras(i.putExtra) 启动此 Activity,以便在上一个 Activity 中选择的联系人将显示在这些字段中。在此之后,应该有可能添加所有这些信息到联系人

【问题讨论】:

  • 您是说让它表现 像iphone 联系人表单还是让它看起来 像它?你应该澄清你的问题。
  • 我想让它像 iPhone 通讯录一样表现。它不必看起来像。所以我想知道框架中是否有默认的Android Contacts-Site。我编辑了我的问题,谢谢你的注意

标签: android iphone contacts


【解决方案1】:

允许用户使用这个选择一个联系人..

<uses-permission android:name="android.permission.READ_CONTACTS"/>

2) 调用联系人选择器

在您的 Activity 中,创建一个 Intent,要求系统从联系人 URI 中的项目中找到一个可以执行 PICK 操作的 Activity。

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

调用 startActivityForResult,传入此 Intent(以及请求代码整数,在本例中为 PICK_CONTACT)。这将导致 Android 启动一个在 People.CONTENT_URI 上注册为支持 ACTION_PICK 的 Activity,然后在做出(或取消)选择时返回此 Activity。

 startActivityForResult(intent, PICK_CONTACT);


@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);

switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
 Uri contactData = data.getData();
 Cursor c =  managedQuery(contactData, null, null, null, null);
 if (c.moveToFirst()) 
 {
   String name = c.getString(c.getColumnIndexOrThrow(People.NAME));

 }
}
break;
}
}

现在,一旦选择了联系人,您将获得填写编辑文本和以上所有信息所需的信息。

这是关于如何做到这一点的优秀教程。祝你好运!这应该会让你顺利上路! Working with Androind contacts

【讨论】:

  • 谢谢,但我认为我无法明确我想要什么。当我按照您的指示进行操作时,我会收到以下信息:PICTURE 但我只想发送一些数据 - 我的手机联系人中没有这些数据,而是 另一个活动中的字符串类型 - 类似于 Contact-Edit/Add-Activity。现在我认为我必须使用 EditTexts 创建一个自己的 Activity,并以表格形式排列。还是有其他解决方案?
  • 这听起来很对。以表单的方式创建布局,然后允许用户编辑字段中的文本,并且可能有一个发送按钮,它可以对用户输入的信息做任何你想做的事情。
猜你喜欢
  • 2014-02-14
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
相关资源
最近更新 更多