首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android API 8,10 ContactsContract.Data.HAS_PHONE_NUMBER没有这样的列

在 Android API 8 和 10 中,ContactsContract.Data.HAS_PHONE_NUMBER 类没有这样的列。但是,您可以使用其他方法来检查是否存在电话号码。

一种方法是使用 ContentResolver 查询电话号是否存在。以下是一个示例代码片段:

代码语言:kotlin
复制
val contentResolver = application.contentResolver

val hasPhoneNumber = contentResolver.query(
    ContactsContract.Data.CONTENT_URI,
    arrayOf(ContactsContract.Data.HAS_PHONE_NUMBER),
    ContactsContract.Data.CONTACT_ID + " = ?",
    arrayOf(id),
    null
)

如果该查询返回一个结果,则说明该联系人存在电话号码,并且该列在 ContactsContract.Data 中。

另一种方法是使用 Android 的原生电话号码 API 进行查询。您可以使用以下代码片段来查询联系人是否存在电话号码:

代码语言:kotlin
复制
val phoneNumbers = telephonyManager.phoneNumbers

if (phoneNumbers.count > 0) {
    // 获取第一个电话号码
    val phoneNumber = phoneNumbers[0]
    
    // 检查电话号码是否与联系人匹配
    if (phoneNumber.number == number) {
        // 是,则存在电话号码
        hasPhoneNumber = true
    }
}

如果该代码返回 true,则说明该联系人存在电话号码,并且该列在 ContactsContract.Data 中。

请注意,这些方法可能不适用于所有 Android 设备或 Android 版本。因此,您可能需要针对不同的设备或版本进行适当的调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券