7

私はAndroidでGPS追跡アプリを開発しています。マップnのものの表示は完了です。次に、クリックすると連絡先が表示されるボタンを上部に作成します。次に、連絡先を選択すると、その場所が表示されます。これを手伝ってください。ありがとうございました。

4

3 に答える 3

19

次のコードでボタンにを設定することでボタンクリックにイベントを設定し、OnClickListenerインテントを使用してContactPickerアクティビティを呼び出すことができます。

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

        startActivityForResult(intent, PICK_CONTACT);

            }
        });

連絡先URIをonActivityResult()処理して、連絡先の詳細をロードします。

@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;
  }
}
于 2012-03-31T12:39:54.183 に答える
11

あなたは使用する必要がありますstartActivityForResult

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

詳細については、「Androidの連絡先ピッカーから連絡先情報を取得する」を参照してください。

于 2012-03-31T12:34:36.887 に答える
1

このコードを試してください

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

ACTION_DEFAULTの代わりに使用してくださいACTION_PICK

幸運を。

于 2017-08-19T09:19:06.947 に答える