Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android联系人信息,包括facebook等联系人_Android_Facebook_Contacts - Fatal编程技术网

Android联系人信息,包括facebook等联系人

Android联系人信息,包括facebook等联系人,android,facebook,contacts,Android,Facebook,Contacts,我正在使用以下代码。在我的应用程序中,用户可以从联系人中进行选择以查看联系人信息(应用程序跳转到相应的联系人信息)。 这是代码的结果: 用户点击手机中数据的人:应用程序跳转到联系人信息 用户点击从facebook导入数据的人:如果这是应用程序的首次运行,它将强制关闭。如果用户以前单击过手机中数据的用户(手动添加),则会显示其联系信息 ContentResolver cr = getContentResolver(); Cursor cur = cr.query(ContactsContract.

我正在使用以下代码。在我的应用程序中,用户可以从联系人中进行选择以查看联系人信息(应用程序跳转到相应的联系人信息)。 这是代码的结果: 用户点击手机中数据的人:应用程序跳转到联系人信息 用户点击从facebook导入数据的人:如果这是应用程序的首次运行,它将强制关闭。如果用户以前单击过手机中数据的用户(手动添加),则会显示其联系信息

ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) 
{
  while (cur.moveToNext()) {
  id_contact = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                                    name_contact =     
  cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
  if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) 
  {
    if (name_contact.equals(myArr2_cs[item]))
    {
      Toast.makeText(getApplicationContext(), "NAME2: " + name_contact,   Toast.LENGTH_SHORT).show();
      Toast.makeText(getApplicationContext(), "ID2: " + id_contact, Toast.LENGTH_SHORT).show();
      if (Integer.parseInt(cur.getString(
       cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) 
       {
         Cursor pCur = cr.query(
         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
         ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id_contact}, null);
         id_contact2 = id_contact;
        }
     }
   }
 }
Toast.makeText(getApplicationContext(), "id_contact: " + id_contact2, Toast.LENGTH_SHORT).show();
    Intent intent_contacts = new Intent(Intent.ACTION_VIEW, Uri.parse("content://contacts/people/" + id_contact2));
      startActivity(intent_contacts);
        }
我发现访问facebook联系人是允许的。这家伙还说,“我通过FB Graph api()获取所有联系人姓名/id映射的缓存,并将其用于id查找。”。这是什么意思


如果我不能解决这个问题,我的程序看起来就很蹩脚。500个联系人出现在应用程序中,但只有在大约40个联系人的情况下,应用程序才会跳转到联系人信息。在最后460个案例中,它不起作用。

我设法解决了这个问题。结果显示,这个查询只包括那些有电话号码的人,但我的列表包括了所有人。这就是运行导致强制关闭和错误结果的原因。我不得不删除那两条有电话号码的线路,一切正常。

问题不太清楚。您是在显示Androd手机的联系人列表,还是在facebook联系人列表?