相关疑难解决方法(0)

在Android应用程序中获取联系人

我正在关注这些链接以获取我的应用程序中的联系人

如何调用Android联系人列表?

http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/

我可以在手机上显示联系人列表

-

  1. 我想在每个联系人处添加一个复选框,以便用户可以选择多个联系人,通过单击完成按钮,他应该能够获得他选择的所有联系人

  2. 另外,我想获取联系人姓名以及联系电话号码,请参阅我的代码:

    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(ContactsContract.Contacts.DISPLAY_NAME));
                        String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
                        Log.v("name", name +" "+number);
                        // TODO Whatever you want to do with the selected contact
                        // name.
                    }
                }

在log cat上它显示输出为:

01-09 12:46:41.688: V/name(699): Xyz 1
Run Code Online (Sandbox Code Playgroud)

这是联系人的名字是xyz,它至少有一个与之关联的电话号码.请帮助我如何获得与该联系人相关的号码.

编辑:

如果我String number = c.getString(c.getColumnIndexOrThrow(People.NUMBER));在代码中使用this()行,我会得到以下异常:

01-09 13:33:23.008: E/AndroidRuntime(786): FATAL EXCEPTION: main
01-09 13:33:23.008: E/AndroidRuntime(786): java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

15
推荐指数
1
解决办法
2万
查看次数

从Intent.ACTION_PICK返回的URI中获取特定的联系信息

我正在编写一个Android应用程序,其数据类型代表一个人(特别是孩子的父母或监护人).我希望能够从Android设备的"联系人"数据库​​中"导入"相关数据字段.(这应该是可选的;也就是说,不要求父/监护人已经在联系人数据库中,如果他们添加新的父母/监护人,也不会更新联系人数据库.)

到目前为止,我已经编写了代码来启动一个新的Intent来选择特定的Contact(使用Intent.ACTION_PICK).然后,我获得一个表示数据库中特定联系人的URI.

不幸的是,我不知道下一步是什么.看起来这应该是世界上最简单的事情,但显然不是.我已经阅读了Android开发者网站上的文档,并查看了多本Android手册.没有快乐.

我想得到的具体信息是:

  1. 联系人的姓名(如果可能的话,首先和最后一个)

  2. 联系人(主要)电子邮件地址

  3. 联系人的手机号码

我想通过查询使用ContentResolver可以实现这一点,但我不知道如何使用Intent返回的URI来做到这一点.大多数文档假定您具有联系人ID,而不是联系人的URI.此外,我不知道我可以在查询的投影中添加哪种字段,假设这甚至是我想要的正确方法.

这是我的起始代码:

// In a button's onClick event handler:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);

// In onActivityResult:
if (resultCode == RESULT_OK) {
    if (requestCode == PICK_CONTACT) {
        contactURI = data.getData();
        // NOW WHAT?
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-intent android-contentprovider android-contacts

15
推荐指数
2
解决办法
2万
查看次数

如何使用联系人ID获取特定联系号码

这里我的联系人姓名显示在列表视图上.通过单击列表我得到ContactNameContact Id.从那个我想Phone number通过使用Contact ID或取Contact name,请帮助我.

这是我的代码

void ReadContacts(String sort) {
    final Uri uri = ContactsContract.Contacts.CONTENT_URI;
    final String[] projection = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME
    };
    //boolean mShowInvisible = false;
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
    String[] selectionArgs = null;
    final String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";

    m_curContacts = managedQuery(uri, projection, selection, selectionArgs, sortOrder);
    String[] fields = new String[] {ContactsContract.Data.DISPLAY_NAME};
    m_slvAdapter = new SimpleCursorAdapter(this, 
                android.R.layout.simple_list_item_1, 
                m_curContacts, …
Run Code Online (Sandbox Code Playgroud)

android android-contacts android-cursor

8
推荐指数
1
解决办法
2万
查看次数

当我单击main.xml中定义的按钮时,如何打开联系人

我在android中开发了一个gps跟踪应用程序.我完成了显示地图的东西.现在我想在顶部做一个按钮,当点击它时会显示联系人,然后当我选择联系人时它应该显示他或她的位置.请帮我解决一下这个.谢谢.

android button contact buttonclick

7
推荐指数
2
解决办法
3万
查看次数

如何获得gmail用户的联系人?

我需要检索用户存储在他的Gmail帐户中的电子邮件地址.在我的应用程序中,用户现在可以决定邀请他的朋友.我希望应用程序(如果用户告诉我"ok")显示存储在gmail中的用户联系人电子邮件地址列表,其中他可以选择一个或多个...

我知道存在Google API的身份验证和授权".这是正确的方法吗?并且,如何在Android中使用它们?

api gmail android

6
推荐指数
1
解决办法
1万
查看次数

从Android内置电话簿获取电子邮件ID和名称?

我正在尝试将Android内置电话簿中的名称和电子邮件ID添加到我的页面中,我可以获取姓名,联系人ID,电话号码.但是我无法从Android电话簿中获取电子邮件ID.

代码是:

 public static final int PICK_CONTACT = 1;
 @Override
 button.setOnClickListener(new OnClickListener() {
 public void onClick(View _view) {
 Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
 startActivityForResult(intent, PICK_CONTACT);  
   } 
 });
}

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

switch(reqCode) {
  case (PICK_CONTACT) : {
    if (resCode == Activity.RESULT_OK) {
      Uri contactData = data.getData();
      Cursor c = managedQuery(contactData, null, null, null, null);
      c.moveToFirst();
      String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
      String name1 = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
      String ContactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

   if(Integer.parseInt(name1) == 1){ …
Run Code Online (Sandbox Code Playgroud)

android contacts android-contacts

6
推荐指数
1
解决办法
3076
查看次数

Android内容提供者未返回Phone.NUMBER

(更新)这适用于模拟器,但不适用于我的HTC图例:(

我的ListActivity中有以下方法,并且它没有返回Cursor中的任何值(getCount = 0)

我无法理解为什么.我在列表中点击哪个联系人并不重要.

protected void onListItemClick(ListView l, View v, int position, long id) {
   // TODO Auto-generated method stub
   super.onListItemClick(l, v, position, id);
   Log.d(TAG,"onListItemClick");

   //get Telephone number for entry and display in Toast
   Uri phoneUri = ContentUris.withAppendedId(Phone.CONTENT_URI, id);
   Log.d(TAG,String.valueOf(phoneUri));
   String[] projection = new String[]{Phone.NUMBER};


   //Get Cursor
   Cursor phoneCursor = managedQuery(phoneUri, projection, null, null, null);

   while(phoneCursor.moveToNext()){
       String dspNumber;
       String number = phoneCursor.getString(phoneCursor.getColumnIndexOrThrow(Phone.NUMBER));
       if(number==""){
           dspNumber = "No number found";
       }else{
           dspNumber = number;
       }

       Toast.makeText(this,dspNumber, 3000).show();
   }
 }
Run Code Online (Sandbox Code Playgroud)

java android

6
推荐指数
1
解决办法
408
查看次数