2012-01-11 14 views
1

をリストされていない、私は連絡先を追加するには、このコードを使用:新しい連絡先

public static long addNewNameToContact(Context context, String name) { 

    long rawContactId = 0; 

    ContentValues values = new ContentValues(); 

    values.put(Contacts.DISPLAY_NAME, name); 

    Uri rawContactUri = context.getContentResolver().insert(RawContacts.CONTENT_URI, values); 
    rawContactId = ContentUris.parseId(rawContactUri); 

    return rawContactId; 
} 

(私は名前だけで連絡先を作成し、携帯電話やその他のデータを追加する必要があります)。

私を助けることができますか?

非常に感謝し、 マテウス

答えて

1

まず、アカウントの種類と名前を指定して、生の連絡先を作成する必要があります。アカウントの種類と名前には任意の文字列を使用できます。インスタンスaccountType = "com.mateus.app" とACCOUNTNAME = "ユーザー" の場合:

values.clear(); 
values.put(Data.RAW_CONTACT_ID, rawContactId); 
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); 
values.put(StructuredName.DISPLAY_NAME, "Mike Sullivan"); 
getContentResolver().insert(Data.CONTENT_URI, values); 
+0

右:次に

ContentValues values = new ContentValues(); values.put(RawContacts.ACCOUNT_TYPE, accountType); values.put(RawContacts.ACCOUNT_NAME, accountName); Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); 

、あなたは上に返される生のコンタクトIDと表示名を設定することができますさらにサンプルを探したい場合は、SampleSyncAdapterを確認してください。http://developer.android.com/resources/samples/SampleSyncAdapter/index.html – kingston

+0

こんにちは! Data.CONTENT_URIは存在しません...もう一度お手伝いできますか? – Mateus

関連する問題