IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Source de synchronisation ajout contact


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut Source de synchronisation ajout contact
    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

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut
    pas d'idée ?
    il me faut un broadcastreceiver catchant les evenement de création de contact.
    mais est ce que quelqu'un peut m'aider, je n'arrive pas du tout à faire ça...

  3. #3
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Il n'y a rien à intercepter. Suite à l'intention d'ajouter un contact, soit c'est l'application native d'android qui prend la main, soit c'est la vôtre.

    Dans le cas où c'est ton application qui est choisie par l’utilisateur (visiblement, tu dis que le choix est bien proposé), je crois comprendre que tu aimerais un formulaire d'ajout qui ressemble à celui de l'application native. Pas le choix, il faut le coder. Fouilles aussi du coté du widget nommé QuickContactBadge.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Après réflexion il est peut-être possible de ne réutiliser que le premier écran de l'application native avant de retourner à ton appli, à l'aide de startActivityForResult. Ca donnerait un truc dans le genre :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
    myActivity.startActivityForResult(intent, 1);

    A creuser...
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut
    j'ai finalement trouver une manière.
    Il faut juste créer une activity avec les champs dont on a besoin.
    et mettre dans le manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <activity android:name=".YOUR_CUSTOM_ACTIVITY" >
            <intent-filter>
                <action android:name="android.intent.action.INSERT" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.dir/contact"/>
            </intent-filter>
    </activity>

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour


    j'ai finalement trouver une manière.
    Si votre question a été résolu, merci de bien penser à taggé votre post, grâce au bouton

    Merci
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. Synchronisation de contacts avec salesforce
    Par spynux dans le forum Salesforce.com
    Réponses: 3
    Dernier message: 02/05/2008, 09h19
  2. Synchronisation de contacts : quels outils ?
    Par cheikh ahmadou bamba dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 14/08/2007, 16h54
  3. Probleme Ajout Contact sur WLM
    Par maadadi dans le forum Dépannage et Assistance
    Réponses: 1
    Dernier message: 28/05/2007, 17h53
  4. Synchronisation des contacts
    Par j2kaspar dans le forum Outlook
    Réponses: 2
    Dernier message: 12/04/2007, 11h55
  5. [C#] Synchronisation de contacts Outlook
    Par GéniuS77 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/06/2004, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo