Android получить имя контакта и номер телефона для Android 1,5
Пока у меня есть этот код из примеров, которые я видел здесь:
public class testLayout extends Activity {
final int PICK_CONTACT = 0;
ImageView image = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image=(ImageView)findViewById(R.id.icon);
image.setOnClickListener(onChangePerson);
}
private View.OnClickListener onChangePerson=new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
}
};
@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.getColumnIndexOrThrow(People.NAME));
}
}
break;
}
}
}
Это позволяет мне открыть действие, которое правильно показывает контакты на телефоне, и позвольте мне выбрать контакт. Однако каждый раз, когда я нажимаю на контакт, программа вылетает. Есть идеи, почему это происходит? Спасибо
1 ответ
Хорошо, спасибо Хэми за то, что указал мне logcat, о котором я раньше не знал.
Оказывается, я просматриваю снова и снова "требуется разрешение READ_CONTACTS", которое было в моем файле манифеста Android. К сожалению, кажется, что он был внутри тега приложения, который вызывал сбой программы, не сообщая мне почему. Спасибо, что помогли мне решить это!