/ / Comment détecter une application de contacts de téléphone Android prend en charge l'adresse postale structurée? - android, android-intent, android-contacts

Comment détecter une application de contacts téléphoniques Android prend en charge l'adresse postale structurée? - android, android-intent, android-contacts

Samsung Galaxy S4 et certains appareils ne prennent en charge que le courrier postal structuré tout en utilisant Intention Action_Insert

ArrayList<ContentValues> data = new ArrayList<ContentValues>();
...
ContentValues name = new ContentValues();
name.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
name.put(StructuredPostal.STREET, bundle.getString(StructuredPostal.STREET));
name.put(StructuredPostal.CITY, bundle.getString(StructuredPostal.CITY));
name.put(StructuredPostal.REGION, bundle.getString(StructuredPostal.REGION));
name.put(StructuredPostal.NEIGHBORHOOD, bundle.getString(StructuredPostal.NEIGHBORHOOD));
name.put(StructuredPostal.POSTCODE, bundle.getString(StructuredPostal.POSTCODE));
name.put(StructuredPostal.COUNTRY, bundle.getString(StructuredPostal.COUNTRY));
data.add(name);
Intent intent = new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(ContactsContract.Intents.Insert.NAME, contactName);

if(android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.HONEYCOMB)
intent.putParcelableArrayListExtra(Insert.DATA, data);
else
intent.putExtra(ContactsContract.Intents.Insert.POSTAL, address);

Maintenant, pour Galaxy S3 qui fonctionne sur 4.2 ne supporte pas les adresses structurées et ne montre pas l’adresse en utilisant le code ci-dessus.

Alors, comment puis-je savoir si un appareil prend en charge une adresse postale structurée pour pouvoir prendre en charge les deux?

Remarque: Si j'utilise intent.putExtra(ContactsContract.Intents.Insert.POSTAL, address); Galaxy S3 affiche l'adresse où comme lors de l'utilisation intent.putParcelableArrayListExtra(Insert.DATA, data); cette S3 pas en mesure d'afficher l'adresse.

Réponses:

1 pour la réponse № 1

Essayez d’enregistrer les champs structurés comme vous le faites (pour les téléphones compatibles) ainsi que les StructuredPostal.FORMATTED_ADDRESS. Vous devrez cependant faire le formatage vous-même. C’est ce que VCardEntry fait, semble-t-il.