ContactKeyClient


interface ContactKeyClient : HasApiKey


Ein Client für die Contact Key API.

Zusammenfassung

Öffentliche Funktionen

Flow<List<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAccountContactKeysFlow(accountIds: List<String>)

Gibt einen Stream mit Aktualisierungen von Kontokontaktschlüsseln zurück.

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeContactKeys(lookupKey: String)

Ruft alle Einträge für Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung ab, die zu Apps gehören, die für den Anrufer sichtbar sind.

Task<E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeSelfKeys()

Gibt alle Einträge für selbst generierte Schlüssel für die Ende-zu-Ende-Verschlüsselung zurück, die zu Apps gehören, die für den Anrufer sichtbar sind.

Task<ImmutableList<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeAccountContactKeys()

Ruft alle Kontakt-Ende-zu-Ende-Verschlüsselungsschlüssel ab, die zur Anrufer-App gehören, unabhängig davon, ob sie einem Kontakt zugeordnet sind oder nicht.

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeContactKeys()

Ruft alle Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung ab, die zur Anrufer-App gehören, und zwar für alle Kontakte.

Task<ImmutableList<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeAccountKeysForAccount(accountId: String)

Ruft alle Einträge für Ende-zu-Ende-Verschlüsselungs-Kontaktschlüssel ab, die zur Anrufer-App und zum Konto des Anrufers gehören, und zwar für alle Kontakte.

Task<E2eeContactKeyParcelable?>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeContactKey(lookupKey: String, deviceId: String, accountId: String)

Ruft einen Eintrag für den Ende-zu-Ende-Verschlüsselungskontaktschlüssel anhand von lookupKey, deviceId, accountId und dem abgeleiteten Paketnamen des Anrufers ab.

Task<E2eeSelfKeyParcelable?>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeSelfKey(deviceId: String, accountId: String)

Gibt einen Eintrag für den selbst generierten Schlüssel für die Ende-zu-Ende-Verschlüsselung zurück, der auf deviceId, accountId und dem abgeleiteten Paketnamen des Aufrufers basiert.

Task<Int>

Gibt die maximal zulässige Größe eines Schlüssels in Byte zurück.

Task<PendingIntent>
getOnboardingIntent(
    nextActivity: OnboardingNextActivity,
    lookupKey: String?,
    packageName: String?
)

Gibt einen Intent zurück, um die Onboarding-Aktivität anzuzeigen, und markiert, dass das Onboarding auf diesem Gerät angezeigt wurde.

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeContactKeys(lookupKey: String)

Ruft alle Einträge für Ende-zu-Ende-Verschlüsselungs-Kontaktschlüssel für ein bestimmtes lookupKey ab, die zur aufrufenden App gehören.

Task<E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeSelfKeys()

Gibt alle Einträge für selbst generierte Ende-zu-Ende-Verschlüsselungsschlüssel zurück, die der aufrufenden App gehören.

Task<PendingIntent>
getScanQrCodeIntent(lookupKey: String, skipOnboarding: Boolean)

Gibt einen Intent für die Aktivität „QR-Code scannen“ zurück.

Task<PendingIntent>
getScanQrCodeIntentForAccount(packageName: String, accountId: String)

Gibt einen Intent für die Aktivität „QR-Code scannen“ für ein bestimmtes Konto zurück.

Task<PendingIntent>
getShowQrCodeIntent(packageName: String?, skipOnboarding: Boolean)

Gibt einen Intent für die Aktivität „QR-Code anzeigen“ zurück.

Task<Boolean>

Gibt eine Aufgabe zurück, die unabhängig davon, ob die API verfügbar ist oder nicht, erfolgreich abgeschlossen wird.

Task<Void>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
registerAccountContactKeysListener(
    accountIds: List<String>,
    listener: OnAccountContactKeysUpdatedListener
)

Registriert einen Listener für Aktualisierungen von Kontokontaktschlüsseln.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeAccountContactKey(deviceId: String, accountId: String)

Entfernt einen Kontakt-Schlüsseleintrag für ein Konto mit Ende-zu-Ende-Verschlüsselung, der zur Anrufer-App gehört.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String
)

Entfernt einen Eintrag für den Ende-zu-Ende-Verschlüsselungskontaktschlüssel, der zur Anrufer-App gehört.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeSelfKey(deviceId: String, accountId: String)

Entfernt einen Eintrag für den selbst generierten Schlüssel für die Ende-zu-Ende-Verschlüsselung anhand der deviceId und des abgeleiteten Paketnamens des Aufrufers.

Task<Boolean>

Hebt die Registrierung eines Listeners für Aktualisierungen von Konto-Kontaktschlüsseln auf.

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateAllE2eeAccountKeys(accountKeyInfos: List<E2eeAccountKeyInfo>)

Fügt eine Reihe von Kontokontaktschlüsseln ein.

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

Fügt einen neuen Eintrag in die Tabelle mit den Kontakt-Ende-zu-Ende-Verschlüsselungsschlüsseln ein oder aktualisiert einen vorhandenen Eintrag.

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    lookupKeys: List<String>,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

Fügt einen neuen Eintrag in die Tabelle mit den Kontakt-Ende-zu-Ende-Verschlüsselungsschlüsseln ein oder aktualisiert einen vorhandenen Eintrag.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
updateOrInsertE2eeSelfKey(
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

Fügt einen neuen Eintrag in die Tabelle mit den End-to-End-Verschlüsselungs-Selbstschlüsseln ein oder aktualisiert einen vorhandenen Eintrag.

Öffentliche Funktionen

getAccountContactKeysFlow

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAccountContactKeysFlow(accountIds: List<String>): Flow<List<E2eeAccountContactKeyParcelable>>

Gibt einen Stream mit Aktualisierungen von Kontokontaktschlüsseln zurück.

Der Stream wird ausgegeben, wenn ein Schlüssel für eine der angegebenen accountId aktualisiert, hinzugefügt oder entfernt wird. Es wird die Liste aller Schlüssel für die angegebenen accountIds ausgegeben, nicht nur die, die aktualisiert wurden.

Parameter
accountIds: List<String>

Die Liste der Konto-IDs, für die Updates empfangen werden sollen.

Returns
Flow<List<E2eeAccountContactKeyParcelable>>

Ein Flow, der die Listen von E2eeAccountContactKeyParcelable für die angegebenen accountIds ausgibt, wenn ein Schlüssel aktualisiert, hinzugefügt oder entfernt wird.

Ausgabe
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

wenn die Callback-Ereignisse zu langsam verarbeitet werden.

getAllE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllE2eeContactKeys(lookupKey: String): Task<E2eeContactKeyListParcelable>

Ruft alle Einträge für Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung ab, die zu Apps gehören, die für den Anrufer sichtbar sind. Die Schlüssel werden von deviceId-, timeUpdated- und keyValue-Daten bereinigt.

Parameter
lookupKey: String

der Wert, der auf den Kontakt verweist

Returns
Task<E2eeContactKeyListParcelable>

Ein E2eeContactKeyListParcelable mit einer Liste der Kontaktinformationen zum Ende-zu-Ende-Verschlüsselungsschlüssel oder eine leere Liste, wenn keine Schlüssel gefunden werden.

getAllE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllE2eeSelfKeys(): Task<E2eeSelfKeyListParcelable>

Gibt alle Einträge für selbst generierte Schlüssel für die Ende-zu-Ende-Verschlüsselung zurück, die zu Apps gehören, die für den Anrufer sichtbar sind. Die Schlüssel werden von deviceId-, timeUpdated- und keyValue-Daten bereinigt.

Returns
Task<E2eeSelfKeyListParcelable>

Ein E2eeSelfKeyListParcelable mit einer Liste der Informationen zum Self-Key für die End-to-End-Verschlüsselung oder eine leere Liste, wenn keine Self-Keys gefunden werden.

getAllOwnerE2eeAccountContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllOwnerE2eeAccountContactKeys(): Task<ImmutableList<E2eeAccountContactKeyParcelable>>

Ruft alle Kontakt-Ende-zu-Ende-Verschlüsselungsschlüssel ab, die zur Anrufer-App gehören, unabhängig davon, ob sie einem Kontakt zugeordnet sind oder nicht.

Returns
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

Eine Liste mit E2eeAccountContactKeyParcelable-Objekten, die die Kontaktinformationen für die End-to-End-Verschlüsselung enthalten, oder eine leere Liste, wenn keine Schlüssel gefunden werden.

getAllOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllOwnerE2eeContactKeys(): Task<E2eeContactKeyListParcelable>

Ruft alle Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung ab, die zur Anrufer-App gehören, und zwar für alle Kontakte.

Mit dieser Methode sollten nur Schlüssel abgerufen werden, denen mindestens ein Kontakt zugeordnet ist. Wenn Sie Schlüssel abrufen müssen, die nicht mit Kontakten verknüpft sind, verwenden Sie stattdessen getAllOwnerE2eeAccountContactKeys.

Returns
Task<E2eeContactKeyListParcelable>

Ein E2eeContactKeyListParcelable mit einer Liste der Kontaktinformationen für den Schlüssel für die Ende-zu-Ende-Verschlüsselung oder eine leere Liste, wenn keine Schlüssel gefunden werden.

getE2eeAccountKeysForAccount

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeAccountKeysForAccount(accountId: String): Task<ImmutableList<E2eeAccountContactKeyParcelable>>

Ruft alle Einträge für Ende-zu-Ende-Verschlüsselungs-Kontaktschlüssel ab, die zur Anrufer-App und zum Konto des Anrufers gehören, und zwar für alle Kontakte. Enthält Schlüssel, die keinem Kontakt zugeordnet sind.

Returns
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

Eine Liste mit E2eeAccountContactKeyParcelable-Objekten, die die Kontaktinformationen für die End-to-End-Verschlüsselung enthalten, oder eine leere Liste, wenn keine Schlüssel gefunden werden.

getE2eeContactKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeContactKey(lookupKey: String, deviceId: String, accountId: String): Task<E2eeContactKeyParcelable?>

Ruft einen Eintrag für den Ende-zu-Ende-Verschlüsselungskontaktschlüssel anhand von lookupKey, deviceId, accountId und dem abgeleiteten Paketnamen des Anrufers ab.

Parameter
lookupKey: String

der Wert, der auf den Kontakt verweist

deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

Returns
Task<E2eeContactKeyParcelable?>

ein E2eeContactKeyParcelable mit den Informationen zum Kontaktschlüssel oder „null“, wenn kein Kontaktschlüssel gefunden wird.

getE2eeSelfKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeSelfKey(deviceId: String, accountId: String): Task<E2eeSelfKeyParcelable?>

Gibt einen Eintrag für den selbst generierten Schlüssel für die Ende-zu-Ende-Verschlüsselung zurück, der auf deviceId, accountId und dem abgeleiteten Paketnamen des Aufrufers basiert.

Parameter
deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

Returns
Task<E2eeSelfKeyParcelable?>

ein E2eeSelfKeyParcelable mit den Informationen zum selbst generierten Schlüssel für die Ende-zu-Ende-Verschlüsselung oder „null“, wenn kein selbst generierter Schlüssel gefunden wird.

getMaxKeySizeBytes

fun getMaxKeySizeBytes(): Task<Int>

Gibt die maximal zulässige Größe eines Schlüssels in Byte zurück.

getOnboardingIntent

fun getOnboardingIntent(
    nextActivity: OnboardingNextActivity,
    lookupKey: String?,
    packageName: String?
): Task<PendingIntent>

Gibt einen Intent zurück, um die Onboarding-Aktivität anzuzeigen, und markiert, dass das Onboarding auf diesem Gerät angezeigt wurde. Dazu ist ein nextActivity erforderlich, der entweder der String show oder scan sein kann. Wenn scan, ist die lookupKey des zu scannenden Kontakts erforderlich.

Parameter
nextActivity: OnboardingNextActivity

die nächste Aktivität, die nach der Onboarding-Aktivität angezeigt werden soll. Muss entweder show oder scan sein.

lookupKey: String?

Der Wert, der auf den Kontakt verweist. Erforderlich, wenn nextActivity scan ist.

packageName: String?

Der Paketname der App, deren Schlüssel benötigt werden (optional).

getOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getOwnerE2eeContactKeys(lookupKey: String): Task<E2eeContactKeyListParcelable>

Ruft alle Einträge für Ende-zu-Ende-Verschlüsselungs-Kontaktschlüssel für ein bestimmtes lookupKey ab, die zur aufrufenden App gehören.

Parameter
lookupKey: String

der Wert, der auf den Kontakt verweist

Returns
Task<E2eeContactKeyListParcelable>

Ein E2eeContactKeyListParcelable mit einer Liste der Kontaktinformationen für den Schlüssel für die Ende-zu-Ende-Verschlüsselung oder eine leere Liste, wenn keine Schlüssel gefunden werden.

getOwnerE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getOwnerE2eeSelfKeys(): Task<E2eeSelfKeyListParcelable>

Gibt alle Einträge für selbst generierte Ende-zu-Ende-Verschlüsselungsschlüssel zurück, die der aufrufenden App gehören.

Returns
Task<E2eeSelfKeyListParcelable>

Ein E2eeSelfKeyListParcelable mit den Informationen zum Selbstschlüssel für die Ende-zu-Ende-Verschlüsselung oder eine leere Liste, wenn keine Selbstschlüssel gefunden werden.

getScanQrCodeIntent

fun getScanQrCodeIntent(lookupKey: String, skipOnboarding: Boolean = false): Task<PendingIntent>

Gibt einen Intent für die Aktivität „QR-Code scannen“ zurück.

Parameter
lookupKey: String

der Wert, der auf den Kontakt verweist

skipOnboarding: Boolean = false

Derzeit nicht verwendet.

getScanQrCodeIntentForAccount

fun getScanQrCodeIntentForAccount(packageName: String, accountId: String): Task<PendingIntent>

Gibt einen Intent für die Aktivität „QR-Code scannen“ für ein bestimmtes Konto zurück.

Parameter
packageName: String

Der Paketname, der mit dem Konto verknüpft ist, das der Nutzer bestätigen möchte

accountId: String

Die Konto-ID, die mit dem Konto verknüpft ist, das der Nutzer bestätigen möchte.

getShowQrCodeIntent

fun getShowQrCodeIntent(packageName: String?, skipOnboarding: Boolean = false): Task<PendingIntent>

Gibt einen Intent für die Aktivität „QR-Code anzeigen“ zurück.

Parameter
packageName: String?

Der Paketname der App, deren Schlüssel benötigt werden (optional)

skipOnboarding: Boolean = false

Derzeit nicht verwendet.

isEnabled

fun isEnabled(): Task<Boolean>

Gibt eine Aufgabe zurück, die unabhängig davon, ob die API verfügbar ist oder nicht, erfolgreich abgeschlossen wird.

Wenn die API verfügbar ist, hat die zurückgegebene Aufgabe das Ergebnis „true“, andernfalls „false“.

Ausnahmen, die normalerweise ausgelöst werden, wenn die API nicht verfügbar ist, werden abgefangen und stattdessen wird eine Aufgabe zurückgegeben, die „false“ zurückgibt.

registerAccountContactKeysListener

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun registerAccountContactKeysListener(
    accountIds: List<String>,
    listener: OnAccountContactKeysUpdatedListener
): Task<Void>

Registriert einen Listener für Aktualisierungen von Kontokontaktschlüsseln.

Der Listener wird aufgerufen, wenn ein Schlüssel für eine der angegebenen accountId aktualisiert, hinzugefügt oder entfernt wird. Sie wird mit der Liste aller Schlüssel für die angegebenen accountIds aufgerufen, nicht nur mit den aktualisierten.

Parameter
accountIds: List<String>

Die Liste der Konto-IDs, für die der Listener registriert werden soll.

listener: OnAccountContactKeysUpdatedListener

Der zu registrierende Listener.

removeE2eeAccountContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeAccountContactKey(deviceId: String, accountId: String): Task<Void>

Entfernt einen Kontakt-Schlüsseleintrag für ein Konto mit Ende-zu-Ende-Verschlüsselung, der zur Anrufer-App gehört.

Parameter
deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

removeE2eeContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String
): Task<Void>

Entfernt einen Eintrag für den Ende-zu-Ende-Verschlüsselungskontaktschlüssel, der zur Anrufer-App gehört.

Parameter
lookupKey: String

der Wert, der auf den Kontakt verweist

deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

removeE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeSelfKey(deviceId: String, accountId: String): Task<Void>

Entfernt einen Eintrag für den selbst generierten Schlüssel für die Ende-zu-Ende-Verschlüsselung anhand der deviceId und des abgeleiteten Paketnamens des Aufrufers.

Parameter
deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

unregisterAccountContactKeysListener

@CanIgnoreReturnValue
fun unregisterAccountContactKeysListener(
    listener: OnAccountContactKeysUpdatedListener
): Task<Boolean>

Hebt die Registrierung eines Listeners für Aktualisierungen von Konto-Kontaktschlüsseln auf.

Parameter
listener: OnAccountContactKeysUpdatedListener

Listener, dessen Registrierung aufgehoben werden soll

updateAllE2eeAccountKeys

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateAllE2eeAccountKeys(accountKeyInfos: List<E2eeAccountKeyInfo>): Task<Void>

Fügt eine Reihe von Kontokontaktschlüsseln ein.

Verhält sich ähnlich wie updateOrInsertE2eeContactKey, ermöglicht aber das gleichzeitige Einfügen/Aktualisieren mehrerer Schlüssel. Jeder Schlüssel wird in einer eigenen Transaktion eingefügt. Daher werden einige Schlüssel möglicherweise eingefügt, auch wenn für die Aufgabe eine Ausnahme ausgelöst wird.

Clients können vorübergehende Fehler beheben, indem sie den gesamten Batch noch einmal senden, da diese API den Status bereits eingefügter Schlüssel nicht ändert.

Für jeden Schlüssel wird, wenn ein „lookupKey“ angegeben ist, aber die grundlegenden Kontaktinformationen (displayName, phoneNumber, emailAddress) nicht, auch versucht, den Namen, die Telefonnummer und die E-Mail-Adresse des Kontakts vom Contacts Provider abzurufen. Beim Abrufen des Schlüssels sollten Kontaktverwaltungs-Apps diese Informationen verwenden, um sicherzustellen, dass der Schlüssel nur für den Kontakt verwendet wird, für den er vorgesehen war.

Die Android Key Verification App speichert diese Informationen auf dem Gerät und gibt sie nur an API-Aufrufer mit der Berechtigung READ_CONTACTS weiter.

Wenn für einen Schlüssel kein „lookupKey“ angegeben wird, speichert diese API einen Schlüssel, der nicht mit einem Kontakt verknüpft ist.

Parameter
accountKeyInfos: List<E2eeAccountKeyInfo>

Die Liste der E2eeAccountKeyInfo-Objekte mit den Informationen zum Kontakt-Schlüssel für die Ende-zu-Ende-Verschlüsselung.

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateOrInsertE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

Fügt einen neuen Eintrag in die Tabelle mit den Kontakt-Ende-zu-Ende-Verschlüsselungsschlüsseln ein oder aktualisiert einen vorhandenen Eintrag. Der eingefügte/aktualisierte Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung gehört der Anrufer-App.

Über diese API werden auch der Name, die Telefonnummer und die E-Mail-Adresse des Kontakts aus dem Contacts Provider zusammen mit dem Schlüssel gespeichert. Beim Abrufen des Schlüssels sollten Kontaktverwaltungs-Apps diese Informationen verwenden, um sicherzustellen, dass der Schlüssel nur für den Kontakt verwendet wird, für den er vorgesehen war.

Die Android Key Verification App speichert diese Informationen auf dem Gerät und gibt sie nur an API-Aufrufer mit der Berechtigung READ_CONTACTS weiter.

Parameter
lookupKey: String

Wert, der auf den Kontakt verweist

deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

keyValue: ByteArray

Die Roh-Bytes für den Schlüssel (maximale Größe: getMaxKeySizeBytes Byte)

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateOrInsertE2eeContactKey(
    lookupKeys: List<String>,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

Fügt einen neuen Eintrag in die Tabelle mit den Kontakt-Ende-zu-Ende-Verschlüsselungsschlüsseln ein oder aktualisiert einen vorhandenen Eintrag. Der eingefügte/aktualisierte Kontaktschlüssel für die Ende-zu-Ende-Verschlüsselung gehört der Anrufer-App.

Für jeden bereitgestellten Suchschlüssel werden mit dem Schlüssel auch der Name, die Telefonnummer und die E‑Mail-Adresse des Kontakts aus dem Contacts Provider gespeichert. Beim Abrufen des Schlüssels sollten Kontaktverwaltungs-Apps diese Informationen verwenden, um sicherzustellen, dass der Schlüssel nur für den Kontakt verwendet wird, für den er vorgesehen war.

Die Android Key Verification App speichert diese Informationen auf dem Gerät und gibt sie nur an API-Aufrufer mit der Berechtigung READ_CONTACTS weiter.

Wenn die Liste der Suchschlüssel leer ist, wird mit dieser API ein Schlüssel gespeichert, der keinem Kontakt zugeordnet ist.

Wenn Sie diese API mit einem oder mehreren Suchschlüsseln aufrufen, werden die Schlüsselmetadaten aktualisiert, um sie den angegebenen Kontakten zuzuordnen. Vorhandene Zuordnungen für Kontakte, die nicht in der Liste enthalten sind, werden jedoch nicht entfernt. Wenn Sie die Verknüpfung zwischen einem Kontakt und einem Schlüssel entfernen möchten, rufen Sie removeE2eeContactKey mit dem entsprechenden Suchschlüssel auf.

Parameter
lookupKeys: List<String>

Potenziell leere Liste von CP2-Suchschlüsseln, die auf Kontakte verweisen, mit denen der Schlüssel verknüpft ist

deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

keyValue: ByteArray

Die Roh-Bytes für den Schlüssel (maximale Größe: getMaxKeySizeBytes Byte)

updateOrInsertE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun updateOrInsertE2eeSelfKey(
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

Fügt einen neuen Eintrag in die Tabelle mit den End-to-End-Verschlüsselungs-Selbstschlüsseln ein oder aktualisiert einen vorhandenen Eintrag.

Parameter
deviceId: String

eine appspezifische Kennung für das Gerät

accountId: String

Eine von der App angegebene Kennung für das Konto

keyValue: ByteArray

Die Roh-Bytes für den Schlüssel (maximale Größe: getMaxKeySizeBytes Byte)