簡體   English   中英

Android使用Intents.Insert插入聯系人不起作用

[英]Android insert contact with Intents.Insert not works

我正在嘗試開發一個應用程序,我需要訪問聯系人以添加帶有姓名的電話號碼。 為此,我正在使用以下代碼。

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”未通過。

我使用正確的方法嗎?

提前致謝。

嘗試這個,

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);

ContactsContract.Intents.Insert文檔

public static final String PHONE :在API級別5中添加

聯系人電話號碼的額外字段。

類型: String //清除您需要傳遞String值的額外內容

常數: “電話”


只需將數字作為String傳遞給將起作用的多余元素。

因此更改 intent.putExtra(Intents.Insert.PHONE, 9876543210L);

 intent.putExtra(Intents.Insert.PHONE, "9876543210");

你為什么不就這樣通過它?

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

並在這樣的其他活動中調用它:

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

那應該工作。

第一個參數是你想給這個額外的,第二個參數的值的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM