gpt4 book ai didi

android - 首先添加姓名为 Family name 的联系人

转载 作者:行者123 更新时间:2023-11-29 01:13:20 25 4
gpt4 key购买 nike

考虑下面的代码。例如,如果 displayName = "Squirrel, Rocky J."然后它在联系人中显示为“Rocky J. Squirrel”。我想按原样输入,即“Squirrel, Rocky J”。然而在docs ,我不认为这是一个选项。
我该怎么做?

if (displayName != null) {
contentProviderOperationArrayList.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
displayName)
.build());
}

编辑:
按照 marmor 的建议更改设置后......如果我有“Leo Tolstoy”和“Langston Hughes”我希望联系人列表显示为:

H
休斯·兰斯顿
T
托尔斯泰,利奥

相反,我看到了(在三星 SM-T530 上)

大号
休斯·兰斯顿
托尔斯泰,利奥

(在 Pixel C 上)

H
兰斯顿休斯
T
列夫·托尔斯泰

因此,显示不仅看起来依赖于设备且令人困惑,而且似乎无法通过编程方式进行控制。

最佳答案

当您添加联系人时(通过编程方式或通过联系人编辑屏幕),Contacts 内容提供程序解析插入的姓名,并尝试将其拆分为姓名字段: prefix, first, middle, last, suffix, 昵称 .

之后,名称可以在 Contacts/People 应用程序中显示为“First Last”或“Last” , First”,取决于设置。

如果要切换名称显示选项:

In the stock Contacts app, click on menu > settings > Name
Format
> select Last name first.

更新

系统联系人应用程序在设备之间可能略有不同,但大多数在上述设置页面中至少显示两个选项:排序方式名称格式

根据您在上面给出的示例,我认为您希望将这两个设置都更改为 Last Name

关于以编程方式更改这些值,这可能是可行的,具体取决于您的应用具有的权限,如下所示:

Settings.system.putInt(getContentResolver(),"android.contacts.SORT_ORDER", value);

其中 value12。阅读此内容以了解所需的权限:https://developer.android.com/reference/android/provider/Settings.System.html#canWrite(android.content.Context)

关于android - 首先添加姓名为 Family name 的联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41492029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com