ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Un client per l'API Contact Key.

Riepilogo

Metodi pubblici

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

Restituisce un flusso di aggiornamenti delle chiavi di contatto dell'account.

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end appartenenti alle app visibili al chiamante.

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

Restituisce tutte le voci della chiave automatica di crittografia end-to-end appartenenti ad app visibili al chiamante.

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

Recupera tutte le chiavi di contatto dell'account con crittografia end-to-end appartenenti all'app chiamante, indipendentemente dal fatto che siano associate o meno a un contatto.

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

Recupera tutte le chiavi di contatto con crittografia end-to-end appartenenti all'app chiamante, per tutti i contatti.

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end appartenenti all'app chiamante e all'account del chiamante, per tutti i contatti.

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

Recupera una voce della chiave di contatto con crittografia end-to-end dato il lookupKey, il deviceId, il accountId e il nome del pacchetto del chiamante dedotto.

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

Restituisce una voce di chiave automatica di crittografia end-to-end dato deviceId, accountId e il nome del pacchetto dedotto del chiamante.

abstract @NonNull Task<@NonNull Integer>

Restituisce la dimensione massima consentita di una chiave in byte.

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

Restituisce un intent per mostrare l'attività di onboarding e indica che l'onboarding è stato mostrato su questo dispositivo.

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end per un determinato lookupKey appartenente all'app chiamante.

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

Restituisce tutte le voci della chiave automatica di crittografia end-to-end di proprietà dell'app chiamante.

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

Restituisce un intent all'attività "Scansiona codice QR".

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

Restituisce un intent all'attività "Scansiona codice QR" per un account specifico.

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

Restituisce un intent all'attività "Mostra codice QR".

abstract @NonNull Task<@NonNull Boolean>

Restituisce un'attività che viene completata correttamente indipendentemente dalla disponibilità dell'API.

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

Registra un listener per gli aggiornamenti delle chiavi di contatto dell'account.

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

Rimuove una voce della chiave di contatto dell'account con crittografia end-to-end appartenente all'app chiamante.

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

Rimuove una voce della chiave di contatto con crittografia end-to-end appartenente all'app chiamante.

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

Rimuove una voce della chiave automatica di crittografia end-to-end dato il deviceId e il nome del pacchetto dedotto del chiamante.

abstract @NonNull Task<@NonNull Boolean>

Annulla la registrazione di un listener per gli aggiornamenti delle chiavi di contatto dell'account.

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

Inserisce un batch di chiavi di contatto dell'account.

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
)

Inserisce una nuova voce nella tabella delle chiavi di contatto per la crittografia end-to-end o ne aggiorna una se esiste già.

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
)

Inserisce una nuova voce nella tabella delle chiavi di contatto per la crittografia end-to-end o ne aggiorna una se esiste già.

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

Inserisce una nuova voce nella tabella delle chiavi self-service per la crittografia end-to-end o ne aggiorna una se esiste già.

Metodi pubblici

getAccountContactKeysFlow

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

Restituisce un flusso di aggiornamenti delle chiavi di contatto dell'account.

Il flusso viene emesso quando una chiave per un accountId fornito viene aggiornata, aggiunta o rimossa. Verrà emesso l'elenco di tutte le chiavi per gli account ID forniti, non solo di quelle aggiornate.

Parametri
@NonNull List<@NonNull String> accountIds

l'elenco degli ID account per cui ascoltare gli aggiornamenti.

Ritorni
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

un flusso che emette gli elenchi di E2eeAccountContactKeyParcelable per gli accountIds forniti ogni volta che una chiave viene aggiornata, aggiunta o rimossa.

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

se gli eventi di callback vengono elaborati troppo lentamente.

getAllE2eeContactKeys

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end appartenenti alle app visibili al chiamante. Le chiavi verranno private dei dati deviceId, timeUpdated e keyValue.

Parametri
@NonNull String lookupKey

il valore che fa riferimento al contatto

Ritorni
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

un E2eeContactKeyListParcelable contenente un elenco delle informazioni sulla chiave di contatto per la crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi.

getAllE2eeSelfKeys

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

Restituisce tutte le voci della chiave automatica di crittografia end-to-end appartenenti ad app visibili al chiamante. Le chiavi verranno private dei dati deviceId, timeUpdated e keyValue.

Ritorni
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

un E2eeSelfKeyListParcelable contenente un elenco delle informazioni sulla chiave automatica di crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi automatiche.

getAllOwnerE2eeAccountContactKeys

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

Recupera tutte le chiavi di contatto dell'account con crittografia end-to-end appartenenti all'app chiamante, indipendentemente dal fatto che siano associate o meno a un contatto.

Ritorni
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Un elenco di oggetti E2eeAccountContactKeyParcelable contenenti le informazioni sulla chiave di contatto per la crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi.

getAllOwnerE2eeContactKeys

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

Recupera tutte le chiavi di contatto con crittografia end-to-end appartenenti all'app chiamante, per tutti i contatti.

Questo metodo deve essere utilizzato solo per recuperare le chiavi a cui è associato almeno un contatto. Se devi recuperare chiavi non associate ad alcun contatto, utilizza getAllOwnerE2eeAccountContactKeys.

Ritorni
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

un E2eeContactKeyListParcelable contenente un elenco delle informazioni sulla chiave di contatto per la crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi.

getE2eeAccountKeysForAccount

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end appartenenti all'app chiamante e all'account del chiamante, per tutti i contatti. Include le chiavi non associate ad alcun contatto.

Ritorni
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Un elenco di oggetti E2eeAccountContactKeyParcelable contenenti le informazioni sulla chiave di contatto per la crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi.

getE2eeContactKey

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

Recupera una voce della chiave di contatto con crittografia end-to-end dato il lookupKey, il deviceId, il accountId e il nome del pacchetto del chiamante dedotto.

Parametri
@NonNull String lookupKey

il valore che fa riferimento al contatto

@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

Ritorni
@NonNull Task<E2eeContactKeyParcelable>

un E2eeContactKeyParcelable contenente le informazioni chiave del contatto o null se non viene trovata alcuna chiave del contatto.

getE2eeSelfKey

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

Restituisce una voce di chiave automatica di crittografia end-to-end dato deviceId, accountId e il nome del pacchetto dedotto del chiamante.

Parametri
@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

Ritorni
@NonNull Task<E2eeSelfKeyParcelable>

un E2eeSelfKeyParcelable contenente le informazioni sulla chiave automatica di crittografia end-to-end o null se non viene trovata alcuna chiave automatica.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Restituisce la dimensione massima consentita di una chiave in byte.

getOnboardingIntent

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

Restituisce un intent per mostrare l'attività di onboarding e indica che l'onboarding è stato mostrato su questo dispositivo. Ciò richiede un nextActivity, che può essere la stringa show o scan. Se scan, è necessario l'lookupKey del contatto da cercare.

Parametri
@NonNull OnboardingNextActivity nextActivity

l'attività successiva da mostrare dopo l'attività di onboarding. Deve essere show o scan.

String lookupKey

il valore che fa riferimento al contatto. Obbligatorio se nextActivity è scan.

String packageName

il nome del pacchetto associato all'app di cui sono necessarie le chiavi (facoltativo).

getOwnerE2eeContactKeys

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

Recupera tutte le voci della chiave di contatto con crittografia end-to-end per un determinato lookupKey appartenente all'app chiamante.

Parametri
@NonNull String lookupKey

il valore che fa riferimento al contatto

Ritorni
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

un E2eeContactKeyListParcelable contenente un elenco delle informazioni sulla chiave di contatto per la crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi.

getOwnerE2eeSelfKeys

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

Restituisce tutte le voci della chiave automatica di crittografia end-to-end di proprietà dell'app chiamante.

Ritorni
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

un E2eeSelfKeyListParcelable contenente le informazioni sulla chiave automatica di crittografia end-to-end o un elenco vuoto se non vengono trovate chiavi automatiche.

getScanQrCodeIntent

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

Restituisce un intent all'attività "Scansiona codice QR".

Parametri
@NonNull String lookupKey

il valore che fa riferimento al contatto

boolean skipOnboarding

Attualmente non utilizzato.

getScanQrCodeIntentForAccount

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

Restituisce un intent all'attività "Scansiona codice QR" per un account specifico.

Parametri
@NonNull String packageName

il nome del pacchetto associato all'account che l'utente vuole verificare

@NonNull String accountId

L'ID account associato all'account che l'utente vuole verificare

getShowQrCodeIntent

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

Restituisce un intent all'attività "Mostra codice QR".

Parametri
String packageName

(facoltativo) il nome del pacchetto associato all'app di cui sono necessarie le chiavi

boolean skipOnboarding

Attualmente non utilizzato.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Restituisce un'attività che viene completata correttamente indipendentemente dalla disponibilità dell'API.

Se l'API è disponibile, l'attività restituita avrà un risultato true, altrimenti false.

Le eccezioni in genere generate quando l'API non è disponibile verranno rilevate e verrà restituita un'attività che restituisce correttamente false.

registerAccountContactKeysListener

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

Registra un listener per gli aggiornamenti delle chiavi di contatto dell'account.

Il listener verrà chiamato quando una chiave per qualsiasi accountId fornito viene aggiornata, aggiunta o rimossa. Verrà chiamato con l'elenco di tutte le chiavi per gli accountIds forniti, non solo quelle aggiornate.

Parametri
@NonNull List<@NonNull String> accountIds

l'elenco degli ID account per cui registrare il listener.

@NonNull OnAccountContactKeysUpdatedListener listener

l'ascoltatore da registrare.

removeE2eeAccountContactKey

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

Rimuove una voce della chiave di contatto dell'account con crittografia end-to-end appartenente all'app chiamante.

Parametri
@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

removeE2eeContactKey

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

Rimuove una voce della chiave di contatto con crittografia end-to-end appartenente all'app chiamante.

Parametri
@NonNull String lookupKey

il valore che fa riferimento al contatto

@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

removeE2eeSelfKey

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

Rimuove una voce della chiave automatica di crittografia end-to-end dato il deviceId e il nome del pacchetto dedotto del chiamante.

Parametri
@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

unregisterAccountContactKeysListener

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

Annulla la registrazione di un listener per gli aggiornamenti delle chiavi di contatto dell'account.

Parametri
@NonNull OnAccountContactKeysUpdatedListener listener

l'annullamento della registrazione del listener.

updateAllE2eeAccountKeys

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

Inserisce un batch di chiavi di contatto dell'account.

Si comporta in modo simile a updateOrInsertE2eeContactKey, ma consente di inserire/aggiornare più chiavi contemporaneamente. Ogni chiave viene inserita nella propria transazione, quindi alcune chiavi potrebbero essere inserite anche se l'attività genera un'eccezione.

I client possono scegliere di gestire gli errori temporanei inviando nuovamente l'intero batch, in quanto questa API non influirà sullo stato delle chiavi già inserite.

Per ogni chiave, se viene fornita una lookupKey, ma non le informazioni di base del contatto (displayName, phoneNumber, emailAddress), questa API tenterà anche di recuperare il nome, il numero di telefono e l'indirizzo email del contatto dal provider di contatti. Quando recuperano la chiave, le app di gestione dei contatti devono utilizzare queste informazioni per assicurarsi che la chiave venga utilizzata solo per il contatto a cui è destinata.

L'app Android Key Verification memorizza queste informazioni sul dispositivo e le espone solo ai chiamanti API che dispongono dell'autorizzazione READ_CONTACTS.

Se non viene fornita alcuna lookupKey per una chiave, questa API memorizzerà una chiave non associata ad alcun contatto.

Parametri
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

l'elenco degli oggetti E2eeAccountKeyInfo contenenti le informazioni sulla chiave di contatto per la crittografia end-to-end.

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
)

Inserisce una nuova voce nella tabella delle chiavi di contatto per la crittografia end-to-end o ne aggiorna una se esiste già. La chiave di contatto con crittografia end-to-end inserita/aggiornata è di proprietà dell'app chiamante.

Questa API memorizzerà anche il nome, il numero di telefono e l'indirizzo email del contatto dal provider di contatti, insieme alla chiave. Quando recuperano la chiave, le app di gestione dei contatti devono utilizzare queste informazioni per assicurarsi che la chiave venga utilizzata solo per il contatto a cui è destinata.

L'app Android Key Verification memorizza queste informazioni sul dispositivo e le espone solo ai chiamanti API che dispongono dell'autorizzazione READ_CONTACTS.

Parametri
@NonNull String lookupKey

valore che fa riferimento al contatto

@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

@NonNull byte[] keyValue

i byte non elaborati per la chiave (la dimensione massima è 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
)

Inserisce una nuova voce nella tabella delle chiavi di contatto per la crittografia end-to-end o ne aggiorna una se esiste già. La chiave di contatto con crittografia end-to-end inserita/aggiornata è di proprietà dell'app chiamante.

Per ogni chiave di ricerca fornita, questa API memorizzerà anche il nome, il numero di telefono e l'indirizzo email del contatto dal provider di contatti, insieme alla chiave. Quando recuperano la chiave, le app di gestione dei contatti devono utilizzare queste informazioni per assicurarsi che la chiave venga utilizzata solo per il contatto a cui è destinata.

L'app Android Key Verification memorizza queste informazioni sul dispositivo e le espone solo ai chiamanti API che dispongono dell'autorizzazione READ_CONTACTS.

Se l'elenco delle chiavi di ricerca è vuoto, questa API memorizzerà una chiave non associata ad alcun contatto.

La chiamata di questa API con una o più chiavi di ricerca aggiornerà i metadati della chiave per associarla ai contatti forniti, ma non rimuoverà le associazioni esistenti per i contatti non forniti nell'elenco. Per rimuovere un'associazione tra un contatto e una chiave, chiama removeE2eeContactKey con la chiave di ricerca appropriata.

Parametri
@NonNull List<@NonNull String> lookupKeys

elenco potenzialmente vuoto di chiavi di ricerca CP2 che fanno riferimento ai contatti a cui è associata la chiave

@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

@NonNull byte[] keyValue

i byte non elaborati per la chiave (la dimensione massima è getMaxKeySizeBytes byte)

updateOrInsertE2eeSelfKey

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

Inserisce una nuova voce nella tabella delle chiavi self-service per la crittografia end-to-end o ne aggiorna una se esiste già.

Parametri
@NonNull String deviceId

un identificatore specificato dall'app per il dispositivo

@NonNull String accountId

un identificatore specificato dall'app per l'account

@NonNull byte[] keyValue

i byte non elaborati per la chiave (la dimensione massima è getMaxKeySizeBytes byte)