2012-05-17 6 views
0
public class ImportContactsActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button pickContact = (Button) findViewById(R.id.contacts); 
    pickContact.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View view) { 

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

public void onActivityResult(int reqCode, int resultCode, Intent data) { 

    super.onActivityResult(reqCode, resultCode, data); 

    switch (reqCode) { 
    case (1) : 
     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)); 
      TextView contactView = (TextView) findViewById(R.id.contactView); 
      contactView.setText(name.toString()); 
     } 
     } 
     break; 
    } 
} 

Android 앱을 개발 중이며 전화 연락처를 내 앱으로 가져오고 있습니다. 사용자가 선택한 연락처를 클릭하면 연락처가 TextView에 표시되고 전화 번호가 sharedpreferences에 저장됩니다. 그것을 달성하는 방법을 알고 있겠습니까? 감사합니다선택한 연락처에서 전화 번호를 추출하는 방법은 무엇입니까?

답변

1

시도해 보셨습니까? SharedPreferences에 저장을 위해

Uri contactData = data.getData(); 
Cursor cursor = managedQuery(contactData, null, null, null, null); 
cursor.moveToFirst(); 
     String name = cursor.getString(cursor.getColumnIndexOrThrow(People.NAME)); 
     String number = cursor.getString(cursor.getColumnIndexOrThrow(People.NUMBER)); 
     String email = cursor.getString(cursor.getColumnIndexOrThrow(People.PRIMARY_EMAIL_ID)); 
     contactName.setText(name); 
     contactNumber.setText(number); 
     contactEmail.setText(email); 

..

// We need an Editor object to make preference changes. 
    // All objects are from android.context.Context 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putString("phonenumber", number); 

    // Commit the edits! 
    editor.commit(); 

위의 코드는 단지 이해입니다 ..

+0

정보 주셔서 감사합니다. 매니페스트에 뭔가를 추가해야합니까? –

+0

예, 권한을 추가하십시오. user370305

+0

ur 참조를 따르지만 연락처 중 하나를 클릭하면 강제로 내 응용 프로그램을 닫습니다 ... –

관련 문제