Google APIを使用して、データからQR コードを生成します。VCARD 形式を表す必要があります。私はこのURLを呼び出します。
QR コードを読み取ると、1 つの小さなエラーを除いて、リンクに追加したすべての情報がうまく返されました。
行 sperators が機能していません。
Java(Android)でこれを取り戻しました:
BEGIN:VCARD\nVERSION:2.1\nFN:Adam Varhegyi\nN:Adam;Varhegyi\nEMAIL:somemai@address.com\nTEL:1234567\nINTERNET:;\n\nORG:Mycompanyname\nEND:VCARD
これの代わりに: (\n = 改行)
BEGIN:VCARD\nVERSION:2.1
FN:Adam Varhegyi
N:Adam;Varhegyi
EMAIL:somemai@address.com
TEL:1234567
INTERNET:;
ORG:Mycompanyname
END:VCARD
次のようなスキャナーを使用して、回避しようとしました。
Scanner sc = new Scanner(myVCardStringInputFromQrCode);
sc.useDelimiter("\n");
while(sc.hasNext()){
String str = sc.next();
Log.i("VCARD LINE: ", str);
}
そして、このメソッドは 1 行しか返しません! また、「\n」マークも無視されます。
編集:
も使ってみましSystem.getProperty("line.separator")
たがダメでした。
編集パート 2:
if(myVCardStringInputFromQrCode.contains("\n")){
Log.i("Found linebreak", "TRUE");
}
else{
Log.i("Found linebreak", "FALSE");
}
このコードは「FALSE」を返します-Javaは、「\ n」が含まれていることがはっきりとわかるのに、含まれていないと言います。
ここで何が起こっているか知っている人はいますか?
編集パート 3:
なぜか正解が削除されてしまったので、「回答」としてマークできません。解決策は「\n」ではなく「\\n」であり、機能しています。