2012-03-31 7 views
6

私はアンドロイドでgpsの追跡アプリケーションを開発しています。私は地図のものを表示することで終わった。今すぐクリックしたときに連絡先を表示するボタンを作成します。次に連絡先を選択すると、自分の場所が表示されます。 これを手伝ってください。 ありがとうございます。main.xmlに定義されたボタンをクリックすると連絡先を開く方法

+0

これは同じ質問であるかなり確信: http://stackoverflow.com/questions/4992564/open-device-contacts-list-at-button-click-event – NotACleverMan

+0

感謝..しかし、どこか私そのコードを定義します。 –

+0

http://stackoverflow.com/questions/9766263/getting-contact-number-using-content-provider-in-android/9883740#9883740これがあなたに役立つことを確認してください –

答えて

16

次のコードでボタンの上にOnClickListenerを設定することにより、ボタンのクリックでイベントを設定し、ContactPicker活動を呼び出すためのテントを使用することができます。

button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent= new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 

     startActivityForResult(intent, PICK_CONTACT); 

      } 
     }); 

onActivityResult()過程で接触URIの詳細をロードするために接触。

@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.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
      // TODO Fetch other Contact details as you want to use 

     } 
     } 
     break; 
    } 
} 
11

あなたはより多くの情報を参照してください"get contact info from android contact picker"startActivityForResult

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

を使用する必要があります。

+0

私はこのコードをどこで定義しますか... –

+1

+1 'ContactsContracts.CONTENT_URI'は非推奨です。 – Darcy

0

Intent intent = new Intent(Intent.ACTION_DEFAULT, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, 1); 

利用ACTION_DEFAULTの代わりACTION_PICKこのコードを試してみてください。

Good Luck。

関連する問題