如何在 Kotlin 中编辑联系人的 phone 号码?
How can I edit the phone number of a contact in Kotlin?
我有一个联系人数据 class 具有唯一的联系人 ID,我想更改联系人的 phone 号码。
这是数据 class:
data class Contact(
val id : String,
val name : String,
val number : String)
我找到了关于如何通过意图执行此操作的教程,但是我想使用 Android 中的 contactsProvider 来执行此操作。我已经在清单中声明了 WRITE_CONTACT 权限,但仍然不知道如何将 phone 号码保存到现有联系人。我也无法在 Google.
上找到任何好的教程
下面是一段代码,可将给定联系人 ID 的当前 phone 号码更新为新的 phone 号码:
private fun updatePhone(contactId:Long, existingNumber:String, newNumber:String) {
val contentValues = ContentValues()
contentValues.put(Phone.NUMBER, newNumber)
val where = Data.CONTACT_ID + "=?" + " AND " + Data.MIMETYPE + "=?" + " AND " + Phone.NUMBER + "=?"
val whereArgs = arrayOf<String>((contactId).toString(), Phone.CONTENT_ITEM_TYPE, existingNumber)
contentResolver.update(Data.CONTENT_URI, contentValues, where, whereArgs)
}
下面是这段代码背后的更多解释:
我会把这个问题标记为链接问题的重复,但链接问题没有任何可接受的答案,所以它不会让我。
我有一个联系人数据 class 具有唯一的联系人 ID,我想更改联系人的 phone 号码。 这是数据 class:
data class Contact(
val id : String,
val name : String,
val number : String)
我找到了关于如何通过意图执行此操作的教程,但是我想使用 Android 中的 contactsProvider 来执行此操作。我已经在清单中声明了 WRITE_CONTACT 权限,但仍然不知道如何将 phone 号码保存到现有联系人。我也无法在 Google.
上找到任何好的教程下面是一段代码,可将给定联系人 ID 的当前 phone 号码更新为新的 phone 号码:
private fun updatePhone(contactId:Long, existingNumber:String, newNumber:String) {
val contentValues = ContentValues()
contentValues.put(Phone.NUMBER, newNumber)
val where = Data.CONTACT_ID + "=?" + " AND " + Data.MIMETYPE + "=?" + " AND " + Phone.NUMBER + "=?"
val whereArgs = arrayOf<String>((contactId).toString(), Phone.CONTENT_ITEM_TYPE, existingNumber)
contentResolver.update(Data.CONTENT_URI, contentValues, where, whereArgs)
}
下面是这段代码背后的更多解释:
我会把这个问题标记为链接问题的重复,但链接问题没有任何可接受的答案,所以它不会让我。