-1

これでアプリを開発しようとしていますが、連絡先にアクセスして名前付きの電話番号を追加する必要があります。このために、次のコードを使用しています。

Intent intent = new Intent(Intents.Insert.ACTION);
intent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
intent.putExtra(Intents.Insert.NAME, "Silambarasan");
intent.putExtra(Intents.Insert.PHONE, 9876543210L);
intent.putExtra(Intents.Insert.PHONE_TYPE, Phone.TYPE_MOBILE);
startActivity(intent);

このコードは連絡先の追加画面を開きますが、画面にはこのコードから送信された「Silambarasan」という名前のみが表示されます。電話「番号:9876543210L」は通れません。

私は正しい方法を使用していますか?

前もって感謝します。

4

3 に答える 3

2

これを試して、

Intent addPersonIntent = new Intent(Intent.ACTION_INSERT);
                                        addPersonIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);

                                        addPersonIntent.putExtra(ContactsContract.Intents.Insert.NAME, "name");
                                        addPersonIntent.putExtra(ContactsContract.Intents.Insert.PHONE, "phone");
                                        addPersonIntent.putExtra(ContactsContract.Intents.Insert.EMAIL, "email");
                                        addPersonIntent.putExtra(ContactsContract.Intents.Insert.POSTAL, "address");

                                        startActivityForResult(addPersonIntent, CREATE_NEW);
于 2013-08-23T05:12:21.860 に答える
2

ContactsContract.Intents.Insertドキュメントから

public static final String PHONE: APIレベル5で追加

連絡先電話番号の追加フィールド。

Type: String // このエクストラに String 値を渡す必要があることをクリアします

定数値: 「電話」


number を String として extra に渡すだけで機能します。

だから変える intent.putExtra(Intents.Insert.PHONE, 9876543210L);

 intent.putExtra(Intents.Insert.PHONE, "9876543210");
于 2013-08-23T05:16:56.743 に答える
1

このまま渡しませんか?

intent.putExtra("nameForThisExtra", "Silambarasan")
intent.putExtra("nameForThisExtra", "9876543210L");
intent.putExtra("nameForThisExtra", Phone.TYPE_MOBILE);

次のように他のアクティビティで呼び出します。

String name = getIntent().getStringExtra("nameForThisExtra");
String number = getIntent().getStringExtra("nameForThisExtra");

それはうまくいくはずです。

最初のパラメータは、この Extra に付ける名前で、2 番目のパラメータは値です。

于 2013-08-23T05:09:57.293 に答える