如何在 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)
}

下面是这段代码背后的更多解释:

我会把这个问题标记为链接问题的重复,但链接问题没有任何可接受的答案,所以它不会让我。