2012-04-08 7 views
0

Ich versuche, die native hinzufügen Kontaktaktivität mit einigen Daten zu starten. Ich habe das meiste herausgefunden. Jetzt stehe ich einfach fest, um die Webseite durch die Absicht zu schicken. Hier ist der CodeStarten von Kontakten hinzufügen Aktivität mit Website-Informationen

Intent intent = new Intent(Intent.ACTION_INSERT); 
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE); 

    // Just some examples of information you can send to pre-fill out data for the 
    // user. See android.provider.ContactsContract.Intents.Insert for the complete 
    // list. 
    intent.putExtra(ContactsContract.Intents.Insert.NAME, "Foo"); 
    intent.putExtra(ContactsContract.Intents.Insert.PHONE, "123456"); 
    intent.putExtra(ContactsContract.Intents.Insert.EMAIL, "[email protected]"); 
    intent.putExtra(ContactsContract.Intents.Insert.POSTAL, "foo drive, foo"); 

    startActivity(intent); 

android.provider.ContactsContract.Intents.Insert keine Website-Feld hat. Gibt es eine andere Möglichkeit, Daten weiterzuleiten?

Antwort

2

Hier können Sie die Website-URL hinzuzufügen:

ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 

    ContentValues row1 = new ContentValues(); 
    row1.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE); 
    row1.put(ContactsContract.CommonDataKinds.Website.URL, "www.urwebsite.com"); 
    row1.put(ContactsContract.CommonDataKinds.Website.LABEL, "abc"); 
    row1.put(ContactsContract.CommonDataKinds.Website.TYPE, Website.TYPE_HOME); 
    data.add(row1); 
    intent.putExtra(ContactsContract.Intents.Insert.DATA, data); 
+0

Danke für die Antwort. Ich habe versucht, Ihre Lösung, aber es gibt einen Fehler -> DATA kann nicht gelöst werden oder ist kein Feld - das ist seltsam, weil es in der Dokumentation erwähnt wird - http://developer.android.com/reference/android/provider/ContactsContract .Intents.Insert.html – Mus

+0

Haben Sie ContactsContract.Intents.Insert importiert? Es gibt noch eine Insert-Klasse "Contacts.Intents.Insert". Importieren Sie das nicht – San

+0

Ich habe dies direkt versucht -> intent1.putParcelableArrayListExtra (ContactsContract.Intents.Insert.DATA, Daten); – Mus