Bonjour,
Nous développons actuellement une source de synchronisation CardDAV pour android.
Et nous sommes confrontés à un problème bête mais ténu, lorsque que l'on clique sur ajouter un contact, notre source apparaît correctement dans les sources disponibles. mais lorsque que nous voulons ajouter notre contact, il n'y a que 2 champs disponibles Nom et Prénom. on aimerais utiliser le formulaire de base d'android fournie pour insérer un contact dans Android ou dans les contact gmail.

syncadapter.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
    android:contentAuthority="com.android.contacts"
    android:accountType="android.carddav"
    android:supportsUploading="true"
/>
authenticator.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="android.carddav"
    android:icon="@drawable/icon"
    android:smallIcon="@drawable/icon"
    android:label="@string/label"
/>
et enfin le plus important :


manifest.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.carddav"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
 
    <uses-sdk android:minSdkVersion="10" />
 
    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <service
            android:name=".authenticator.AuthenticationService"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator" />
            </intent-filter>
 
            <meta-data
                android:name="android.accounts.AccountAuthenticator"
                android:resource="@xml/authenticator" />
        </service>
        <service
            android:name=".syncadapter.SyncService"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <intent-filter android:label="Edit Contact" >
                <action android:name="android.intent.action.EDIT" />
 
                <category android:name="android.intent.category.DEFAULT" />
 
                <data
                    android:host="contacts"
                    android:mimeType="vnd.android.cursor.item/person" />
                <data
                    android:host="com.android.contacts"
                    android:mimeType="vnd.android.cursor.item/contact" />
                <data
                    android:host="com.android.contacts"
                    android:mimeType="vnd.android.cursor.item/raw_contact" />
            </intent-filter>
            <intent-filter android:label="Create Contact" >
                <action android:name="android.intent.action.INSERT" />
 
                <category android:name="android.intent.category.DEFAULT" />
 
                <data android:mimeType="vnd.android.cursor.dir/vnd.google.contact" />
            </intent-filter>
            <intent-filter android:label="View Contact" >
                <action android:name="android.intent.action.VIEW" />
 
                <category android:name="android.intent.category.DEFAULT" />
 
                <data
                    android:host="contacts"
                    android:mimeType="vnd.android.cursor.item/person" />
                <data
                    android:host="com.android.contacts"
                    android:mimeType="vnd.android.cursor.item/contact" />
                <data
                    android:host="com.android.contacts"
                    android:mimeType="vnd.android.cursor.item/raw_contact" />
            </intent-filter>
 
            <meta-data
                android:name="android.content.SyncAdapter"
                android:resource="@xml/syncadapter" />
            <meta-data
                android:name="android.provider.CONTACTS_STRUCTURE"
                android:resource="@xml/contacts" />
        </service>
 
        <activity
            android:name=".authenticator.CardDAVActivity"
            android:excludeFromRecents="true"
            android:label="@string/app_name" >
        </activity>
 
    </application>
 
</manifest>
Si vous avez des liens vers la docs sur les fichiers xml d'android ça pourrais m'aider, et si vous savez comment faire c'est encore mieux :-)

Bonne journée ;-)
Et merci d'avance