如何从Android中的特定联系人获取电话号码?

时间:2014-11-09 00:19:58

标签: android

好吧,所以我要经历的这本书要我打电话给某个人。

我可以很好地检索联系人,这是整个“获取联系ID以查找电话号码位”,我遇到了麻烦。

每次选择联系人时,应用都会崩溃。

我想我不确定如何正确导航到联系人ID。

我对Android很新,现在我只是完全迷失了,我无法在这里找到帮助我的解决方案。

相关守则:

   }else if(requestCode == REQUEST_CONTACT) {
        Uri contactsURI = data.getData();

        String[] queryFields = new String[]{
                ContactsContract.Contacts.DISPLAY_NAME
        };


        //Perform your query - the contactURI is like a "where"
        //clause here
        Cursor c = getActivity().getContentResolver().query(contactsURI, queryFields, null, null, null);


        //Double-check that you actually got results
        if (c.getCount() == 0) {
            c.close();
            return;
        }
        contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

        //Pull out the first column of the first row of data
        //that is your suspects name
        c.moveToFirst();

        String suspect = c.getString(0);


        mCrime.setmSuspect(suspect);
        mSuspectButton.setText(suspect);
        c.close();

    }



}

由于上述代码的这一部分,我崩溃了:

contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

1 个答案:

答案 0 :(得分:0)

你必须先打电话

c.moveToFirst();

然后

contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID))