Android2.2のユーザーの連絡先リストにWebリンクからvCardを追加しようとしています。ユーザーを.vcfファイルに誘導すると、モバイルブラウザーでのテキスト出力のみが表示されます。ファイルがMIMEタイプtext/v-cardで転送されていることを確認しました。これは非常に簡単なことのようです。何か案は?
7 に答える
AFAIK Androidは、少なくとも2.2までは、すぐに使用できるvCardファイルをサポートしていません。
アプリvCardIOを使用して、SDカードからvcfファイルを読み取り、連絡先に保存することができます。そのため、最初にSDカードに保存し、後でインポートする必要があります。
vCardIOは市場でも入手可能です。
AndroidICS4.0.4にインポート機能が追加されました。
.vcf
まず、ファイルをストレージ(USBストレージまたはSDカード)に保存する必要があります。Androidは選択されたストレージをスキャンして.vcf
ファイルを検出し、選択されたアドレスブックにインポートします。この機能は、連絡先リストのオプションメニューにあります。
!注: これを行うときは注意してください! Androidは、ストレージにあるすべてのものをインポートします.vcf
。それはすべてか無かであり、その結果、あなたの名簿を台無しにする可能性があります。
お知らせします。vCard2.1の仕様に従って作成されたvCard2.1ファイルを使用して試してみました。vCard 2.1は古いバージョンであるにもかかわらず、base64でエンコードされた写真や国際的な文字セットなど、必要なものすべてをすでにカバーしていることがわかりました。
変更されていないAndroid4.1.1デバイス(Galaxy S3)で完全に機能しました。また、古いiPhone 3GS(iOS 5、Evernoteアプリ経由)と同僚の変更されていない古いAndroid2.1デバイスでも動作しました。上記のようにに設定Content-disposition
する必要があるだけです。attachment
マイナーな問題は、 MicrosoftTagアプリでスキャンしたQRコードを使用してVCFダウンロードをトリガーしたことです。そのアプリは、Androidがメディアタイプを処理できないことを教えてくれました(または、関係なく)。Webブラウザ(ChromeとAndroidのデフォルトブラウザを試しました)でリンクを開くと、正常に機能しました。text/x-vcard
text/vcard
これを使用して、ファイルをSDカードにダウンロードできます。Androidバージョン2.3.3および4.0.3でテスト済み
======= php =========================
<?php
// this php file (example saved as name is vCardDL.php) is placed in my html subdirectory
//
header('Content-Type: application/octet-stream');
// the above line is needed or else the .vcf file will be downloaded as a .htm file
header('Content-disposition: attachment; filename="xxxxxxxxxx.vcf"');
//
//header('Content-type: application/vcf'); remove this so android doesn't complain that it does not have a valid application
readfile('../aaa/bbb/xxxxxxxxxx.vcf');
//The above is the parth to where the file is located - if in same directory as the php, then just the file name
?>
======= html ========================
<FONT COLOR="#CC0033"><a href="vCardDL.php">Download vCARD</A></FONT>
私は2.2を実行していますが、変更はありません。2.3に関する他の人からの報告も同じです。Android(バグ)は、.vcfも、ポート80を介したWebページ上のそのようなファイルへのリンクも、httpヘッダーまたは直接ストリーミングを介して処理しません。まったくサポートされていません。
VERSION:4.0
標準の連絡先アプリを使用してAndroid7(LineageOS)にvcardファイルをインポートする際に問題が発生しました。
これは「androidvcard形式はサポートされていません」の検索ヒットの上位にあるため、SimpleContactsアプリ(PlayまたはF-Droid )でインポートできたことに注意したいと思います。
私が気付いたのは、ファイルをWindows形式で(キャリッジリターン、ラインフィード)を使用してUnicode
、、UTF-8
noとして保存する必要があることです。そうしないと、インポートが壊れてしまうからです。(ファイル内の奇妙な文字について何かを言っています)BOM
CRLF
頑張ってください:)シド