6

独自のアプリ (および Android ビーム) を使用して連絡先を別のデバイスにビームし、連絡先リスト (つまり、既定の連絡先アプリ) に保存するにはどうすればよいでしょうか。送信側デバイスの連絡先は、ContactsContractプロバイダーによって提供されます。

できれば、他のデバイスでアプリを実行したくありません。組み込みの連絡先アプリ (Android の既定のアプリ) は、連絡先をビームおよび受信できます。そのため、カスタム アプリを使用して連絡先を組み込みの連絡先アプリに転送できるはずです。

この質問への回答は、それが可能であり、VCARD 形式を使用できることを示唆しています。

現在、私のアプリは電話番号で連絡先を検索し、それを新しいアクティビティ (組み込みの連絡先アプリ) に表示します。下記参照。

Uri uri = Uri.fromParts("tel", number.getText().toString(), "");
Log.d("ContactPicker", uri.toString());
startActivity(new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, uri));

// Example log message for the number (123)-123-1234 is "tel:(123)%20123-1234"

私はこの方法でやりたいと思っていますが、見つかった連絡先 (または、既存の連絡先が見つからなかった場合は作成された連絡先) を返すことができないため、それが可能だとは思いません。その特定の連絡先を送信したい場合は、その情報が必要です。

おそらく、すべての連絡先を照会し、探している連絡先を見つけて、その ID を保存する必要があります。

注: API 14 を使用しています


編集

これを行う概念実証アプリを作成しました: https://github.com/dideler/HiFive

アプリにバグがある可能性があります。メンテナンスはされていませんが、プルリクエストは大歓迎です。

4

1 に答える 1

2

はい、vCard が最適です。組み込みの Contacts/People アプリが取得する形式です。アプリが独自のデータを保存するために使用する形式でもあり、私は信じています.

于 2012-12-04T06:57:44.040 に答える