Android-Api - get-mobile Nummer aus den Kontakten
Ich versuchte, so viel tutorials und viel Lesen hier bei SO, aber ich kann mein problem lösen:
Wenn auf eine Schaltfläche geklickt wird, kann der Benutzer wählen Sie die Handy-Nummer des Kontaktes. Aktuelle bekomme ich den Namen des ausgewählten Kontakt, aber ich kann nicht einen Weg finden, bekommen/wählte Sie die Handy-Nummer..
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** Layouting */
this.mGetMobileNumberButton = (Button)findViewById(R.id.getMobileNumberButton);
this.mNameTextView = (TextView)findViewById(R.id.nameTextView);
this.mMobileNumberTextView = (TextView)findViewById(R.id.mobileNumberTextView);
/** onClick getContactInfos*/
this.mGetMobileNumberButton.setOnClickListener(new OnClickListener() {
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
}
});
}
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
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(ContactsContract.Contacts.DISPLAY_NAME));
mNameTextView.setText(name);
}
}
}
Hoffe, dass jemand helfen kann 🙂
InformationsquelleAutor Christoph | 2010-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese erhalten die cursor-holding base-Kontakt Daten, und wird in einer Schleife durch die Telefonnummern für den Kontakt, können mehrere.
ursor cursor=ctx.getContentResolver().query(uri, null, null, null, null);
ctx ist der Kontext
es ist immer noch nicht funktioniert, habe ich ersetzt ctx mit. Wenn ich sage, mAnything.setText ("contactId") funktioniert es. Aber wenn ich versuche mAnything.setText(phoneNumber) es funktioniert nicht 🙁
ok, ich glaube ich hab es, "if(Boolean.parseBoolean(hasPhone))" funktioniert nicht in meinem code, ich ersetzte es mit, wenn "(ganze Zahl.parseInt(cursor.getString( cursor.getColumnIndex(ContactsContract.Kontakte.HAS_PHONE_NUMBER))) > 0)"
InformationsquelleAutor Pentium10
Ist, es sei denn, wenn Sie alle Kontakt vom Telefon, und nach, dass Sie das Ergebnis testen, indem man zu einer wenn hat hat die Nummer oder nicht. Sie können Bedingung in
query
Funktion.Den rest der code der gleiche sein wird ohne diesen test:
InformationsquelleAutor m1uan