Unable to read vCard data: Exported from ez vcard
<p>I am making use of the ezvcard library to export contact data out of my own app. My problem is, the exported vcard cannot be read in my stock contacts app. This is the output:</p>

<pre><code>BEGIN:VCARD 
VERSION:4.0 
N:;User Name;;; 
FN:User Name 
ORG:Anderson Secondary School 
TEL;TYPE=work,voice:92365313 
PRODID:ez-vcard 0.9.9 
END:VCARD 
BEGIN:VCARD 
VERSION:4.0 
N:;All fields 2;;; 
FN:All fields 2 
ORG:List (All fields) 
TEL;TYPE=work,voice:12345678 
PRODID:ez-vcard 0.9.9 
END:VCARD
</code></pre>

<p>and below, my codes to create the vCard</p>

<pre><code>  LayoutInflater li = SettingsPortationActivity.this.getLayoutInflater();
                    View promptsView = li.inflate(R.layout.prompts, null);
                    fileName = "";
                    fileNameInput = (EditText) promptsView.findViewById(R.id.editTextDialogUserInput);
                    fileNameInput.setText(".vcf");

                    AlertDialog.Builder builder = new AlertDialog.Builder(SettingsPortationActivity.this);
                    // sets prompts to alertdialog builder
                    builder.setView(promptsView);

                    builder.setCancelable(false)
                            .setPositiveButton("Save", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    fileName = fileNameInput.getText().toString();
                                    if (!fileName.trim().isEmpty()) { // has value
                                        FavoritesDatabaseHelper db = new FavoritesDatabaseHelper(getApplicationContext());
                                        List&lt;FavoriteObject&gt; favorites = db.getAllFavorites();

                                        List&lt;VCard&gt; vcards = new ArrayList&lt;VCard&gt;();

                                        String storage_path = Environment.getExternalStorageDirectory().toString() + File.separator + fileName;
                                        File file = new File(storage_path);
                                        Log.d("Directory", String.valueOf(storage_path));
                                        VCardWriter writer = null;

                                        try {
                                            writer = new VCardWriter(file, VCardVersion.V4_0);
                                        } catch (IOException e) {
                                            e.printStackTrace();
                                        }

                                        for (int i = 0; i &lt; favorites.size(); i++) {
                                            FavoriteObject fav = favorites.get(i);
                                            Log.d("Export fav", "Fav name" + fav.getContactName());

                                            VCard vcard = new VCard();
                                            vcard.setClassification("PUBLIC");

                                            StructuredName n = new StructuredName();
                                            n.setGiven(fav.getContactName());
                                            vcard.setStructuredName(n);

                                            vcard.setFormattedName(new FormattedName(fav.getContactName()));

                                            Organization org = new Organization();
                                            org.addValue(fav.getListName());
                                            vcard.setOrganization(org);

                                            Telephone tel = new Telephone(fav.getContactNumber());
                                            tel.addType(TelephoneType.WORK);
                                            tel.addType(TelephoneType.VOICE);
                                            vcard.addTelephoneNumber(tel);

                                            vcards.add(vcard);
                                        }

                                        try {
                                            for (VCard vcard : vcards) {
                                                try {
                                                    writer.write(vcard);
                                                } catch (IOException e) {
                                                    e.printStackTrace();
                                                }
                                            }
                                        } finally {
                                            try {
                                                writer.close();
                                                Log.d("Success", "Export success");
                                                Toast.makeText(SettingsPortationActivity.this, "Export Success", Toast.LENGTH_LONG).show();
                                            } catch (IOException e) {
                                                e.printStackTrace();
                                            }
                                        }
                                    } else {
                                        fileNameInput.setError("Please enter a file name");
                                    }
                                }
                            }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    });
                    AlertDialog alertDialog = builder.create();
                    alertDialog.show();
</code></pre>