0
나는이 주제가 여러 번 취급되었다고 생각할 수도 있지만 다른 내용입니다!GetAndroid 연락처 정보 (전화, 이름 등 ...)
내 응용 프로그램은 선택한 연락처에서 연락처 정보 (이름, 번호)를 가져오고 싶지만 그 이름 만 가져올 수는없고 그 번호를 얻을 수 없습니다.
@Override
public void onClick(View v) {
// Opening Contacts Window as a Window
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
// calling OnActivityResult with intent And Some contact for Identifie
startActivityForResult(contactPickerIntent, PICK);
}
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
int indexName = c.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int indexNumber = c.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER);
nom = c.getString(indexName);
numero = c.getString(indexNumber);
//Visual confirm
Toast.makeText(this, "Contact " + nom +" enregistré!",
Toast.LENGTH_LONG).show();
//Save in prefs:
SharedPreferences manager =
PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = manager.edit();
editor.putString("num", numero);
editor.putString("nom", nom);
editor.commit();
이름은 정확하지만 번호로 강제 종료됩니다.
하지만 다음과 같이 바꾸면 더 이상 강제 종료되지 않지만 숫자는 여전히 틀립니다 (0 또는 1).
int indexNumber = c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)+1;
어떻게해야합니까? 위는 연락처 데이터베이스에서 모든 이름과 전화 번호를 retrun