Я разрабатываю приложение для отслеживания GPS в Android. Я закончил с отображением карты и материалов. Теперь я хочу сделать кнопку сверху, при нажатии на которую будут отображаться контакты. Затем, когда я выберу контакт, он должен показать мне его или ее местоположение. Пожалуйста, помогите мне с этим. Спасибо.
как открыть контакты, когда я нажимаю кнопку, определенную в main.xml
comment
Совершенно уверен, что это тот же вопрос: stackoverflow.com/questions/4992564/
- person NotACleverMan   schedule 31.03.2012
comment
спасибо .. но где мне определить этот код.
- person Mehul Rastogi   schedule 31.03.2012
comment
stackoverflow.com/questions/9766263/ проверьте, что это поможет вам
- person Avi Dhiman   schedule 31.03.2012
Ответы (3)
Вы можете установить событие при нажатии кнопки, установив 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);
}
});
и в 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;
}
}
person
jeet
schedule
31.03.2012
Как я могу выбрать несколько контактов?
- person Bugs Happen; 15.03.2021
Вы должны использовать startActivityForResult
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
См. «получение контактной информации из средства выбора контактов Android» для получения дополнительной информации.
person
Kamil Powałowski
schedule
31.03.2012
+1 за использование
ContactsContract.Contacts.CONTENT_URI
, потому что Contacts.CONTENT_URI
устарел.
- person Darcy; 08.04.2013
попробуйте этот код
Intent intent = new Intent(Intent.ACTION_DEFAULT, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
Используйте ACTION_DEFAULT
вместо ACTION_PICK
.
Удачи.
person
A. Mesgari
schedule
19.08.2017