2012-02-16 19 views
1

連絡先に電話番号を取得する簡単なアプリケーションを作成します。ただし、電話番号は「null」を返します。私は、これはあなたを助けるだろうと思いAndroid 2.3.3で電話番号を取得できません

private void queryContactPhoneNumber() { 
    // TODO Auto-generated method stub 
    String[] cols = new String[] {People.NAME, People.NUMBER}; 
    Uri myContacts = People.CONTENT_URI; 
    Cursor mqCur = managedQuery(myContacts, cols, null, null, null); 
    if(mqCur.moveToFirst()) 
    { 
     String myname = null; 
     String mynumber = null; 
     do 
     { 
      myname = mqCur.getString(mqCur.getColumnIndex(People.NAME)); 
      mynumber = mqCur.getString(mqCur.getColumnIndex(People.NUMBER)); 
      Toast.makeText(this, myname + " " + mynumber, Toast.LENGTH_SHORT).show(); 
     } 
     while(mqCur.moveToNext()); 
    } 
} 

答えて

2

はこれを試してみてください、

Uri myContacts = ContactsContract.CommonDataKinds.Phone.CONTENT_URI ;//People.CONTENT_URI; 
     Cursor mqCur = managedQuery(myContacts, null, null, null, null); 
     if(mqCur.moveToFirst()) 
     { 
      String myname = null; 
      String mynumber = null; 
      do 
      { 
       myname = mqCur.getString(mqCur.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 
       mynumber = mqCur.getString(mqCur 
         .getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
       Toast.makeText(this, myname + " " + mynumber, Toast.LENGTH_SHORT).show(); 
      } 
      while(mqCur.moveToNext()); 
     } 

は、ここに私のコードです。

+0

これは動作します:)、ありがとうございます。しかし、私のコードで何が間違っているのか私に説明したいですか? –

+0

はい、 ここでPeople.CONTENT_URIを使用しました([here](http://developer.android.com/reference/android/provider/Contacts.People.html#CONTENT_URI)を参照)は廃止されました。だからうまく動かない。その代わりにContactsContract([here](http://developer.android.com/reference/android/provider/ContactsContract.html)を参照してください)。 – Satheesh

+0

ありがとうございました。今分かります :) –

関連する問題