为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用意图和活动在 Xamarin Android 中插入城市、街道、邮政编码、国家/地区的联系人

如何使用意图和活动在 Xamarin Android 中插入城市、街道、邮政编码、国家/地区的联系人

C#
holdtom 2023-07-09 10:03:43
我需要使用 Xamarin Forms/Android 的意图以编程方式打开 Android 联系人应用程序。当“添加新联系人”活动/屏幕出现时,我想用以下字段预先填充它:名称(正在填充)电话(正在填充)街道(无人居住)城市(无人居住)状态(未填充)国家(没有看到这个字段,没有填充)如上所述,某些屏幕正在填充,但地址字段并未填充。这是用于触发打开 Android 的“添加联系人”屏幕的活动的 Xamarin C# Android 代码/服务:public void AddContact(string name, string[] phoneNumbers, string streetAddress, string city, string state, string postalCode, CountryValues countrycode)    {        // get current activity        var activity = CrossCurrentActivity.Current.Activity;        // create add contact intent        var intent = new Intent(Intent.ActionInsert);        intent.SetType(ContactsContract.Contacts.ContentType);        // add field for contact name        intent.PutExtra(ContactsContract.Intents.Insert.Name, name);        // Adding more than on phone number if available        foreach (string numbers in phoneNumbers)        {            intent.PutExtra(ContactsContract.Intents.Insert.Phone, numbers);        }        // pre-populate address fields        intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Street, streetAddress);        intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.City, city);        intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Region, state);        intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Postcode, postalCode);        intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Country, countrycode.ToString());        //start activity        activity.StartActivity(intent);    }该活动确实会在联系人应用程序中打开“添加新联系人”屏幕,但仅填充姓名和电话号码字段。请参阅下面的屏幕截图:我找到了一个可以转换为 Xamarin.Android 的链接,但我一直在努力实现Java Samples。
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我担心您只能将 下可用的值作为参数传递ContactsContract.Intents.Insert。因此,对于地址,您只有邮政编码如文档中详述:

public static Final String POSTAL:在 API 5 中添加

联系邮政地址的额外字段。

类型:字符串

恒定值:“邮政”

因此,您可以按如下方式传递邮政编码:

intent.PutExtra(ContactsContract.Intents.Insert.Postal, postalCode);

您现在可能需要要求用户在“添加联系人”页面中手动输入其他值。

另外,您是否测试过使用列表同时添加多部手机?从文档来看,您似乎应该使用SECONDARY_PHONE和TERTIARY_PHONE常量。


查看完整回答
反对 回复 2023-07-09
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号