ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Klient interfejsu Contact Key API.

Podsumowanie

Metody publiczne

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

Zwraca strumień aktualizacji kluczy kontaktowych konta.

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

Pobiera wszystkie wpisy kluczy kontaktów do pełnego szyfrowania, które należą do aplikacji widocznych dla elementu wywołującego.

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

Zwraca wszystkie wpisy kluczy własnych szyfrowania pełnego należące do aplikacji widocznych dla elementu wywołującego.

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

Pobiera wszystkie klucze kontaktów konta z pełnym szyfrowaniem należące do aplikacji wywołującej, niezależnie od tego, czy są powiązane z kontaktem.

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

Pobiera wszystkie klucze kontaktów do pełnego szyfrowania należące do aplikacji wywołującej we wszystkich kontaktach.

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

Pobiera wszystkie wpisy kluczy kontaktów do szyfrowania pełnego należące do aplikacji wywołującej i konta wywołującego we wszystkich kontaktach.

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

Pobiera wpis klucza kontaktu pełnego szyfrowania na podstawie lookupKey, deviceId, accountId i nazwy pakietu dzwoniącego.

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

Zwraca wpis klucza własnego pełnego szyfrowania na podstawie deviceId, accountId i wywnioskowanej nazwy pakietu elementu wywołującego.

abstract @NonNull Task<@NonNull Integer>

Zwraca maksymalny dozwolony rozmiar klucza w bajtach.

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

Zwraca intencję wyświetlenia aktywności wprowadzającej i oznacza, że została ona wyświetlona na tym urządzeniu.

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

Pobiera wszystkie wpisy kluczy kontaktów do pełnego szyfrowania dla danego lookupKey należące do aplikacji wywołującej.

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

Zwraca wszystkie wpisy klucza własnego pełnego szyfrowania należące do aplikacji wywołującej.

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

Zwraca intencję do aktywności „Skanuj kod QR”.

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

Zwraca intencję do działania „Skanuj kod QR” dla określonego konta.

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

Zwraca intencję do działania „Pokaż kod QR”.

abstract @NonNull Task<@NonNull Boolean>

Zwraca zadanie, które zostanie wykonane niezależnie od tego, czy interfejs API jest dostępny.

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

Rejestruje detektor aktualizacji kluczy kontaktowych konta.

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

Usuwa wpis klucza kontaktu konta pełnego szyfrowania należący do aplikacji wywołującej.

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

Usuwa wpis klucza kontaktu do pełnego szyfrowania należący do aplikacji wywołującej.

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

Usuwa wpis klucza własnego pełnego szyfrowania na podstawie identyfikatora urządzenia i wywnioskowanej nazwy pakietu wywołującego.

abstract @NonNull Task<@NonNull Boolean>

Anuluje rejestrację detektora aktualizacji kluczy kontaktowych konta.

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

Wstawia partię kluczy kontaktów do konta.

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
)

Wstawia nowy wpis do tabeli kluczy kontaktów do szyfrowania end-to-end lub aktualizuje istniejący wpis.

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
)

Wstawia nowy wpis do tabeli kluczy kontaktów do szyfrowania end-to-end lub aktualizuje istniejący wpis.

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

Wstawia nowy wpis do tabeli kluczy własnych szyfrowania end-to-end lub aktualizuje istniejący wpis.

Metody publiczne

getAccountContactKeysFlow

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

Zwraca strumień aktualizacji kluczy kontaktowych konta.

Strumień będzie emitowany, gdy dowolny klucz dla dowolnego podanego identyfikatora konta zostanie zaktualizowany, dodany lub usunięty. Zwróci listę wszystkich kluczy dla podanych identyfikatorów kont, a nie tylko tych, które zostały zaktualizowane.

Parametry
@NonNull List<@NonNull String> accountIds

lista identyfikatorów kont, na których chcesz śledzić aktualizacje.

Zwroty
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

przepływ emitujący listy E2eeAccountContactKeyParcelable dla podanych identyfikatorów kont, gdy tylko dowolny klucz zostanie zaktualizowany, dodany lub usunięty.

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

jeśli zdarzenia wywołania zwrotnego są przetwarzane zbyt wolno.

getAllE2eeContactKeys

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

Pobiera wszystkie wpisy kluczy kontaktów do pełnego szyfrowania, które należą do aplikacji widocznych dla elementu wywołującego. Klucze zostaną pozbawione danych deviceId, timeUpdatedkeyValue.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu.

Zwroty
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable zawierający listę informacji o kluczach kontaktów do pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy.

getAllE2eeSelfKeys

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

Zwraca wszystkie wpisy kluczy własnych szyfrowania pełnego należące do aplikacji widocznych dla elementu wywołującego. Klucze zostaną pozbawione danych deviceId, timeUpdatedkeyValue.

Zwroty
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable zawierający listę informacji o kluczach własnych pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy własnych.

getAllOwnerE2eeAccountContactKeys

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

Pobiera wszystkie klucze kontaktów konta z pełnym szyfrowaniem należące do aplikacji wywołującej, niezależnie od tego, czy są powiązane z kontaktem.

Zwroty
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

listę obiektów E2eeAccountContactKeyParcelable zawierającą informacje o kluczu kontaktu do pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy.

getAllOwnerE2eeContactKeys

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

Pobiera wszystkie klucze kontaktów do pełnego szyfrowania należące do aplikacji wywołującej we wszystkich kontaktach.

Ta metoda powinna być używana tylko do pobierania kluczy, z którymi jest powiązany co najmniej 1 kontakt. Jeśli chcesz odzyskać klucze, które nie są powiązane z żadnymi kontaktami, użyj getAllOwnerE2eeAccountContactKeys.

Zwroty
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable zawierający listę informacji o kluczach kontaktów do pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy.

getE2eeAccountKeysForAccount

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

Pobiera wszystkie wpisy kluczy kontaktów do szyfrowania pełnego należące do aplikacji wywołującej i konta wywołującego we wszystkich kontaktach. Obejmuje klucze, które nie są powiązane z żadnym kontaktem.

Zwroty
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

listę obiektów E2eeAccountContactKeyParcelable zawierającą informacje o kluczu kontaktu do pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy.

getE2eeContactKey

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

Pobiera wpis klucza kontaktu pełnego szyfrowania na podstawie lookupKey, deviceId, accountId i nazwy pakietu dzwoniącego.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu.

@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

Zwroty
@NonNull Task<E2eeContactKeyParcelable>

E2eeContactKeyParcelable zawierający informacje o kluczu kontaktu lub wartość null, jeśli nie znaleziono klucza kontaktu.

getE2eeSelfKey

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

Zwraca wpis klucza własnego pełnego szyfrowania na podstawie deviceId, accountId i wywnioskowanej nazwy pakietu elementu wywołującego.

Parametry
@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

Zwroty
@NonNull Task<E2eeSelfKeyParcelable>

E2eeSelfKeyParcelable zawierający informacje o kluczu własnym pełnego szyfrowania lub wartość null, jeśli nie znaleziono klucza własnego.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Zwraca maksymalny dozwolony rozmiar klucza w bajtach.

getOnboardingIntent

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

Zwraca intencję wyświetlenia aktywności wprowadzającej i oznacza, że została ona wyświetlona na tym urządzeniu. Wymaga to wartości nextActivity, która może być ciągiem znaków show lub scan. Jeśli scan, wymagany jest lookupKey kontaktu, który ma zostać zeskanowany.

Parametry
@NonNull OnboardingNextActivity nextActivity

Następna aktywność, która ma się wyświetlić po aktywności wprowadzającej. Musi to być show lub scan.

String lookupKey

wartość, która odwołuje się do kontaktu. Wymagany, jeśli nextActivity ma wartość scan.

String packageName

nazwę pakietu powiązaną z aplikacją, której klucze są potrzebne (opcjonalnie);

getOwnerE2eeContactKeys

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

Pobiera wszystkie wpisy kluczy kontaktów do pełnego szyfrowania dla danego lookupKey należące do aplikacji wywołującej.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu.

Zwroty
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable zawierający listę informacji o kluczach kontaktów do pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy.

getOwnerE2eeSelfKeys

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

Zwraca wszystkie wpisy klucza własnego pełnego szyfrowania należące do aplikacji wywołującej.

Zwroty
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable zawierającą informacje o kluczu własnym pełnego szyfrowania lub pustą listę, jeśli nie znaleziono żadnych kluczy własnych.

getScanQrCodeIntent

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

Zwraca intencję do aktywności „Skanuj kod QR”.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu.

boolean skipOnboarding

Obecnie nieużywane.

getScanQrCodeIntentForAccount

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

Zwraca intencję do działania „Skanuj kod QR” dla określonego konta.

Parametry
@NonNull String packageName

nazwę pakietu powiązaną z kontem, które użytkownik chce zweryfikować;

@NonNull String accountId

identyfikator konta powiązany z kontem, które użytkownik chce zweryfikować;

getShowQrCodeIntent

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

Zwraca intencję do działania „Pokaż kod QR”.

Parametry
String packageName

nazwa pakietu powiązana z aplikacją, której klucze są potrzebne (opcjonalnie);

boolean skipOnboarding

Obecnie nieużywane.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Zwraca zadanie, które zostanie wykonane niezależnie od tego, czy interfejs API jest dostępny.

Jeśli interfejs API jest dostępny, zwrócone zadanie będzie miało wynik „true”, a w przeciwnym razie „false”.

Wyjątki zwykle zgłaszane, gdy interfejs API jest niedostępny, zostaną przechwycone, a zamiast nich zostanie zwrócone zadanie, które zakończyło się powodzeniem i zwróciło wartość false.

registerAccountContactKeysListener

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

Rejestruje detektor aktualizacji kluczy kontaktowych konta.

Detektor zostanie wywołany, gdy dowolny klucz dla dowolnego podanego identyfikatora accountId zostanie zaktualizowany, dodany lub usunięty. Zostanie wywołana z listą wszystkich kluczy dla podanych identyfikatorów kont, a nie tylko tych, które zostały zaktualizowane.

Parametry
@NonNull List<@NonNull String> accountIds

lista identyfikatorów kont, dla których ma być zarejestrowany detektor.

@NonNull OnAccountContactKeysUpdatedListener listener

detektor do rejestracji.

removeE2eeAccountContactKey

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

Usuwa wpis klucza kontaktu konta pełnego szyfrowania należący do aplikacji wywołującej.

Parametry
@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

removeE2eeContactKey

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

Usuwa wpis klucza kontaktu do pełnego szyfrowania należący do aplikacji wywołującej.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu.

@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

removeE2eeSelfKey

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

Usuwa wpis klucza własnego pełnego szyfrowania na podstawie identyfikatora urządzenia i wywnioskowanej nazwy pakietu wywołującego.

Parametry
@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

unregisterAccountContactKeysListener

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

Anuluje rejestrację detektora aktualizacji kluczy kontaktowych konta.

Parametry
@NonNull OnAccountContactKeysUpdatedListener listener

detektor do wyrejestrowania.

updateAllE2eeAccountKeys

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

Wstawia partię kluczy kontaktów do konta.

Działa podobnie do updateOrInsertE2eeContactKey, ale umożliwia wstawianie i aktualizowanie wielu kluczy jednocześnie. Każdy klucz jest wstawiany w osobnej transakcji, więc niektóre klucze mogą zostać wstawione nawet wtedy, gdy zadanie zgłosi wyjątek.

Klienci mogą obsługiwać tymczasowe błędy, ponownie wysyłając całą partię, ponieważ ten interfejs API nie wpłynie na stan już wstawionych kluczy.

W przypadku każdego klucza, jeśli podano lookupKey, ale nie podano podstawowych informacji o kontakcie (displayName, phoneNumber, emailAddress), ten interfejs API spróbuje też pobrać nazwę, numer telefonu i adres e-mail kontaktu od dostawcy kontaktów. Podczas pobierania klucza aplikacje do zarządzania kontaktami powinny używać tych informacji, aby mieć pewność, że klucz jest używany tylko w przypadku kontaktu, dla którego został przeznaczony.

Aplikacja do weryfikacji kluczy na Androidzie przechowuje te informacje na urządzeniu i udostępnia je tylko wywołującym interfejs API, którzy mają uprawnienie READ_CONTACTS.

Jeśli dla klucza nie podano parametru lookupKey, ten interfejs API zapisze klucz, który nie jest powiązany z żadnym kontaktem.

Parametry
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

lista obiektów E2eeAccountKeyInfo zawierających informacje o kluczu kontaktu do pełnego szyfrowania.

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
)

Wstawia nowy wpis do tabeli kluczy kontaktów do szyfrowania end-to-end lub aktualizuje istniejący wpis. Wstawiony lub zaktualizowany klucz kontaktu zaszyfrowany w pełni należy do aplikacji dzwoniącej.

Ten interfejs API będzie też przechowywać imię i nazwisko, numer telefonu i adres e-mail kontaktu od dostawcy kontaktów wraz z kluczem. Podczas pobierania klucza aplikacje do zarządzania kontaktami powinny używać tych informacji, aby mieć pewność, że klucz jest używany tylko w przypadku kontaktu, dla którego został przeznaczony.

Aplikacja do weryfikacji kluczy na Androidzie przechowuje te informacje na urządzeniu i udostępnia je tylko wywołującym interfejs API, którzy mają uprawnienie READ_CONTACTS.

Parametry
@NonNull String lookupKey

wartość, która odwołuje się do kontaktu;

@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

@NonNull byte[] keyValue

surowe bajty klucza (maksymalny rozmiar to getMaxKeySizeBytes bajtów);

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
)

Wstawia nowy wpis do tabeli kluczy kontaktów do szyfrowania end-to-end lub aktualizuje istniejący wpis. Wstawiony lub zaktualizowany klucz kontaktu zaszyfrowany w pełni należy do aplikacji dzwoniącej.

W przypadku każdego podanego klucza wyszukiwania ten interfejs API będzie też przechowywać nazwę kontaktu, numer telefonu i adres e-mail od dostawcy kontaktów wraz z kluczem. Podczas pobierania klucza aplikacje do zarządzania kontaktami powinny używać tych informacji, aby mieć pewność, że klucz jest używany tylko w przypadku kontaktu, dla którego został przeznaczony.

Aplikacja do weryfikacji kluczy na Androidzie przechowuje te informacje na urządzeniu i udostępnia je tylko wywołującym interfejs API, którzy mają uprawnienie READ_CONTACTS.

Jeśli lista kluczy wyszukiwania jest pusta, ten interfejs API zapisze klucz, który nie jest powiązany z żadnym kontaktem.

Wywołanie tego interfejsu API z co najmniej jednym kluczem wyszukiwania spowoduje zaktualizowanie metadanych klucza w celu powiązania go z podanymi kontaktami, ale nie usunie żadnych istniejących powiązań z kontaktami, które nie znajdują się na liście. Aby usunąć powiązanie między kontaktem a kluczem, wywołaj funkcję removeE2eeContactKey z odpowiednim kluczem wyszukiwania.

Parametry
@NonNull List<@NonNull String> lookupKeys

potencjalnie pusta lista kluczy wyszukiwania CP2 odwołujących się do kontaktów, z którymi jest powiązany klucz.

@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

@NonNull byte[] keyValue

surowe bajty klucza (maksymalny rozmiar to getMaxKeySizeBytes bajtów);

updateOrInsertE2eeSelfKey

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

Wstawia nowy wpis do tabeli kluczy własnych szyfrowania end-to-end lub aktualizuje istniejący wpis.

Parametry
@NonNull String deviceId

identyfikator urządzenia określony przez aplikację,

@NonNull String accountId

identyfikator konta określony przez aplikację;

@NonNull byte[] keyValue

surowe bajty klucza (maksymalny rozmiar to getMaxKeySizeBytes bajtów);