Android 11获取联系人生日

问题描述

我正在尝试查询所有联系人的生日。这就是我正在使用的-

    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
const SingleProductEditScreen= connect(mapStateToProps,mapDispatchToProps)((props)=>{
    const {navigation}=props;
    const product=props.navigation.state.params.product;
    useLayoutEffect(()=>{
                navigation.setOptions({
                    headerRight: () =>
                        <HeaderBtnSave
                            loading={saveBtnState===SAVE_BTN_LOADING}
                            disabled={saveBtnState!==SAVE_BTN_ON}
                            onPress={() => onSavePress()}
                        />
                    })
            },[navigation]);
    return (
        <Text>some text</Text>
    )
})

我得到了

    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

extractAll(destination)字段是否已从Android 11中删除?任何帮助将不胜感激。谢谢。

解决方法

ContactsContract.Contacts.CONTENT_URI上的表仅包含非常通用的联系信息,例如_ID,DISPLAY_NAME等。 它不包含联系人的实际数据,例如电话,电子邮件,事件等。

这些存储在单独的表ContactsContract.Data.CONTENT_URI中,因此您需要将cursorLoader中的表更改为该表。

此外,您的投影将需要更改为:

private val PROJECTION: Array<out String> = arrayOf(
    Data.CONTACT_ID,Contacts.LOOKUP_KEY,Contacts.DISPLAY_NAME
)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...