ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Ein Client für die Contact Key API.

Zusammenfassung

Öffentliche Methoden

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

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

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

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.

abstract @NonNull Task<@NonNull 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.

abstract @NonNull Task<@NonNull ImmutableList<@NonNull 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.

abstract @NonNull Task<@NonNull 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.

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

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.

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

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

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

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.

abstract @NonNull Task<@NonNull Integer>

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

abstract @NonNull Task<@NonNull PendingIntent>
getOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

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

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

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.

abstract @NonNull Task<@NonNull 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.

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

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

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

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

abstract @NonNull Task<@NonNull PendingIntent>
getShowQrCodeIntent(String packageName, boolean skipOnboarding)

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

abstract @NonNull Task<@NonNull Boolean>

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

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

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

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

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

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

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

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

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.

abstract @NonNull Task<@NonNull Boolean>

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

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

Fügt eine Reihe von Kontokontaktschlüsseln ein.

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

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

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

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

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
updateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

Öffentliche Methoden

getAccountContactKeysFlow

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

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
@NonNull List<@NonNull String> accountIds

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

Returns
@NonNull Flow<@NonNull List<@NonNull 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")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllE2eeContactKeys(@NonNull String lookupKey)

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
@NonNull String lookupKey

der Wert, der auf den Kontakt verweist

Returns
@NonNull Task<@NonNull 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.

getAllE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetAllE2eeSelfKeys()

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
@NonNull Task<@NonNull 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")
abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>> 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.

Returns
@NonNull Task<@NonNull ImmutableList<@NonNull 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")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllOwnerE2eeContactKeys()

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
@NonNull Task<@NonNull 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")
abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>> getE2eeAccountKeysForAccount(@NonNull String accountId)

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
@NonNull Task<@NonNull ImmutableList<@NonNull 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")
abstract @NonNull Task<E2eeContactKeyParcelablegetE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

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
@NonNull String lookupKey

der Wert, der auf den Kontakt verweist

@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

Returns
@NonNull 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")
abstract @NonNull Task<E2eeSelfKeyParcelablegetE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

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
@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

Returns
@NonNull 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

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

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

getOnboardingIntent

abstract @NonNull Task<@NonNull PendingIntentgetOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

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
@NonNull OnboardingNextActivity nextActivity

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

String lookupKey

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

String packageName

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

getOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetOwnerE2eeContactKeys(@NonNull String lookupKey)

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
@NonNull String lookupKey

der Wert, der auf den Kontakt verweist

Returns
@NonNull Task<@NonNull 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")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetOwnerE2eeSelfKeys()

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

Returns
@NonNull Task<@NonNull 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

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

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

Parameter
@NonNull String lookupKey

der Wert, der auf den Kontakt verweist

boolean skipOnboarding

Derzeit nicht verwendet.

getScanQrCodeIntentForAccount

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

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

Parameter
@NonNull String packageName

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

@NonNull String accountId

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

getShowQrCodeIntent

abstract @NonNull Task<@NonNull PendingIntentgetShowQrCodeIntent(String packageName, boolean skipOnboarding)

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

Parameter
String packageName

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

boolean skipOnboarding

Derzeit nicht verwendet.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

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")
abstract @NonNull Task<@NonNull VoidregisterAccountContactKeysListener(
    @NonNull List<@NonNull String> accountIds,
    @NonNull OnAccountContactKeysUpdatedListener listener
)

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
@NonNull List<@NonNull String> accountIds

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

@NonNull OnAccountContactKeysUpdatedListener listener

Der zu registrierende Listener.

removeE2eeAccountContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeAccountContactKey(
    @NonNull String deviceId,
    @NonNull String accountId
)

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

Parameter
@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

removeE2eeContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

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

Parameter
@NonNull String lookupKey

der Wert, der auf den Kontakt verweist

@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

removeE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

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
@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

unregisterAccountContactKeysListener

@CanIgnoreReturnValue
abstract @NonNull Task<@NonNull BooleanunregisterAccountContactKeysListener(
    @NonNull OnAccountContactKeysUpdatedListener listener
)

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

Parameter
@NonNull OnAccountContactKeysUpdatedListener listener

Listener, dessen Registrierung aufgehoben werden soll

updateAllE2eeAccountKeys

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateAllE2eeAccountKeys(
    @NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos
)

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
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

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"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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
@NonNull String lookupKey

Wert, der auf den Kontakt verweist

@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

@NonNull byte[] keyValue

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

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull List<@NonNull String> lookupKeys,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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
@NonNull List<@NonNull String> lookupKeys

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

@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

@NonNull byte[] keyValue

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

updateOrInsertE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

Parameter
@NonNull String deviceId

eine appspezifische Kennung für das Gerät

@NonNull String accountId

Eine von der App angegebene Kennung für das Konto

@NonNull byte[] keyValue

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