Android получить имя контакта и номер телефона для Android 1,5 - PullRequest
0 голосов
/ 30 июля 2010

Пока у меня есть этот код из примеров, которые я видел здесь:

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 Ответ

0 голосов
/ 30 июля 2010

Хорошо, спасибо, Хэми, за то, что указал мне logcat, о котором я раньше не знал.

Оказывается, я снова и снова просматриваю "требуется разрешение READ_CONTACTS", которое было в моем файле манифеста Android. К сожалению, кажется, что он был внутри тега приложения, который вызывал сбой программы, не сообщая мне почему. Спасибо, что помогли мне решить эту проблему!

...