ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Một ứng dụng cho Contact Key API.

Tóm tắt

Phương thức công khai

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

Trả về một luồng thông tin cập nhật về khoá liên hệ của tài khoản.

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu thuộc về những ứng dụng mà người gọi có thể thấy.

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

Trả về tất cả các mục khoá tự mã hoá hai đầu thuộc về những ứng dụng mà người gọi nhìn thấy.

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

Truy xuất tất cả các khoá liên hệ tài khoản mã hoá hai đầu thuộc ứng dụng gọi, cho dù các khoá đó có được liên kết với một người liên hệ hay không.

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

Truy xuất tất cả các khoá liên hệ mã hoá hai đầu thuộc về ứng dụng gọi, trên tất cả các liên hệ.

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu thuộc về ứng dụng gọi và tài khoản của người gọi, trên tất cả các số liên hệ.

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

Truy xuất một mục khoá liên hệ mã hoá hai đầu cho trước lookupKey, deviceId, accountId và tên gói người gọi được suy luận.

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

Trả về một mục khoá tự mã hoá hai đầu cho trước deviceId, accountId và tên gói suy luận của phương thức gọi.

abstract @NonNull Task<@NonNull Integer>

Trả về kích thước tối đa cho phép của một khoá theo byte.

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

Trả về một ý định để hiện hoạt động làm quen với ứng dụng và đánh dấu rằng hoạt động làm quen với ứng dụng đã xuất hiện trên thiết bị này.

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu cho một lookupKey nhất định thuộc về ứng dụng gọi.

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

Trả về tất cả các mục khoá tự mã hoá hai đầu thuộc sở hữu của ứng dụng gọi.

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

Trả về một ý định cho hoạt động "Quét mã QR".

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

Trả về một ý định cho hoạt động "Quét mã QR" đối với một tài khoản cụ thể.

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

Trả về một ý định cho hoạt động "Hiện mã QR".

abstract @NonNull Task<@NonNull Boolean>

Trả về một Task hoàn tất thành công cho dù API có sẵn hay không.

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

Đăng ký một trình nghe để nhận thông tin cập nhật về khoá liên hệ của tài khoản.

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

Xoá một mục khoá liên hệ tài khoản mã hoá hai đầu thuộc ứng dụng gọi.

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

Xoá một mục khoá liên hệ mã hoá hai đầu thuộc ứng dụng gọi.

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

Xoá một mục khoá tự mã hoá hai đầu, cho trước deviceId và tên gói được suy luận của phương thức gọi.

abstract @NonNull Task<@NonNull Boolean>

Huỷ đăng ký một trình nghe để nhận thông tin cập nhật về khoá liên hệ của tài khoản.

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

Chèn một nhóm khoá liên hệ của tài khoản.

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
)

Chèn một mục mới vào bảng khoá liên hệ mã hoá đầu cuối hoặc cập nhật một mục nếu mục đó đã tồn tại.

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
)

Chèn một mục mới vào bảng khoá liên hệ mã hoá đầu cuối hoặc cập nhật một mục nếu mục đó đã tồn tại.

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

Chèn một mục mới vào bảng khoá tự mã hoá hai đầu hoặc cập nhật một mục nếu mục đó đã tồn tại.

Phương thức công khai

getAccountContactKeysFlow

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

Trả về một luồng thông tin cập nhật về khoá liên hệ của tài khoản.

Luồng này sẽ phát khi có khoá cho bất kỳ accountId nào được cung cấp được cập nhật, thêm hoặc xoá. Thao tác này sẽ phát ra danh sách tất cả các khoá cho accountIds đã cung cấp, chứ không chỉ những khoá đã được cập nhật.

Tham số
@NonNull List<@NonNull String> accountIds

danh sách mã tài khoản để theo dõi các bản cập nhật.

Giá trị trả về
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

một luồng phát ra danh sách E2eeAccountContactKeyParcelable cho accountId được cung cấp bất cứ khi nào có khoá được cập nhật, thêm hoặc xoá.

Gửi
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

nếu các sự kiện gọi lại được xử lý quá chậm.

getAllE2eeContactKeys

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu thuộc về những ứng dụng mà người gọi có thể thấy. Các khoá sẽ bị xoá dữ liệu deviceId, timeUpdatedkeyValue.

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

Giá trị trả về
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable chứa danh sách thông tin khoá liên hệ mã hoá hai đầu hoặc danh sách trống nếu không tìm thấy khoá nào.

getAllE2eeSelfKeys

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

Trả về tất cả các mục khoá tự mã hoá hai đầu thuộc về những ứng dụng mà người gọi nhìn thấy. Các khoá sẽ bị xoá dữ liệu deviceId, timeUpdatedkeyValue.

Giá trị trả về
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable chứa danh sách thông tin khoá tự mã hoá hai đầu hoặc danh sách trống nếu không tìm thấy khoá tự mã hoá nào.

getAllOwnerE2eeAccountContactKeys

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

Truy xuất tất cả các khoá liên hệ tài khoản mã hoá hai đầu thuộc ứng dụng gọi, cho dù các khoá đó có được liên kết với một người liên hệ hay không.

Giá trị trả về
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

một danh sách các đối tượng E2eeAccountContactKeyParcelable chứa thông tin khoá liên hệ mã hoá hai đầu hoặc một danh sách trống nếu không tìm thấy khoá nào.

getAllOwnerE2eeContactKeys

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

Truy xuất tất cả các khoá liên hệ mã hoá hai đầu thuộc về ứng dụng gọi, trên tất cả các liên hệ.

Bạn chỉ nên dùng phương thức này để truy xuất những khoá có ít nhất một người liên hệ được liên kết. Nếu bạn cần truy xuất các khoá không liên kết với bất kỳ người liên hệ nào, hãy sử dụng getAllOwnerE2eeAccountContactKeys.

Giá trị trả về
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable chứa danh sách thông tin khoá liên hệ mã hoá hai đầu hoặc danh sách trống nếu không tìm thấy khoá nào.

getE2eeAccountKeysForAccount

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu thuộc về ứng dụng gọi và tài khoản của người gọi, trên tất cả các số liên hệ. Bao gồm cả những khoá không liên kết với bất kỳ người liên hệ nào.

Giá trị trả về
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

một danh sách các đối tượng E2eeAccountContactKeyParcelable chứa thông tin khoá liên hệ mã hoá hai đầu hoặc một danh sách trống nếu không tìm thấy khoá nào.

getE2eeContactKey

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

Truy xuất một mục khoá liên hệ mã hoá hai đầu cho trước lookupKey, deviceId, accountId và tên gói người gọi được suy luận.

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

Giá trị trả về
@NonNull Task<E2eeContactKeyParcelable>

E2eeContactKeyParcelable chứa thông tin khoá liên hệ hoặc giá trị rỗng nếu không tìm thấy khoá liên hệ.

getE2eeSelfKey

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

Trả về một mục khoá tự mã hoá hai đầu cho trước deviceId, accountId và tên gói suy luận của phương thức gọi.

Tham số
@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

Giá trị trả về
@NonNull Task<E2eeSelfKeyParcelable>

một E2eeSelfKeyParcelable chứa thông tin khoá tự mã hoá hai đầu hoặc giá trị rỗng nếu không tìm thấy khoá tự mã hoá.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Trả về kích thước tối đa cho phép của một khoá theo byte.

getOnboardingIntent

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

Trả về một ý định để hiện hoạt động làm quen với ứng dụng và đánh dấu rằng hoạt động làm quen với ứng dụng đã xuất hiện trên thiết bị này. Điều này yêu cầu phải có nextActivity, có thể là chuỗi show hoặc scan. Nếu scan, thì bạn phải cung cấp lookupKey của người liên hệ cần quét.

Tham số
@NonNull OnboardingNextActivity nextActivity

hoạt động tiếp theo sẽ xuất hiện sau hoạt động làm quen với ứng dụng. Phải là show hoặc scan.

String lookupKey

giá trị tham chiếu đến người liên hệ. Bắt buộc nếu nextActivityscan.

String packageName

tên gói được liên kết với ứng dụng cần có khoá (không bắt buộc).

getOwnerE2eeContactKeys

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

Truy xuất tất cả các mục khoá liên hệ mã hoá hai đầu cho một lookupKey nhất định thuộc về ứng dụng gọi.

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

Giá trị trả về
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable chứa danh sách thông tin khoá liên hệ được mã hoá hai đầu hoặc danh sách trống nếu không tìm thấy khoá nào.

getOwnerE2eeSelfKeys

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

Trả về tất cả các mục khoá tự mã hoá hai đầu thuộc sở hữu của ứng dụng gọi.

Giá trị trả về
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable chứa thông tin khoá tự mã hoá hai đầu hoặc một danh sách trống nếu không tìm thấy khoá tự mã hoá nào.

getScanQrCodeIntent

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

Trả về một ý định cho hoạt động "Quét mã QR".

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

boolean skipOnboarding

Hiện không được sử dụng.

getScanQrCodeIntentForAccount

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

Trả về một ý định cho hoạt động "Quét mã QR" đối với một tài khoản cụ thể.

Tham số
@NonNull String packageName

tên gói được liên kết với tài khoản mà người dùng muốn xác minh

@NonNull String accountId

mã tài khoản được liên kết với tài khoản mà người dùng muốn xác minh

getShowQrCodeIntent

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

Trả về một ý định cho hoạt động "Hiện mã QR".

Tham số
String packageName

tên gói được liên kết với ứng dụng cần có khoá (không bắt buộc)

boolean skipOnboarding

Hiện không được sử dụng.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Trả về một Task hoàn tất thành công cho dù API có sẵn hay không.

Nếu API có sẵn, tác vụ được trả về sẽ có kết quả là true, nếu không thì kết quả sẽ là false.

Các ngoại lệ thường được gửi khi API không hoạt động sẽ được nắm bắt và thay vào đó, một tác vụ trả về giá trị false thành công sẽ được trả về.

registerAccountContactKeysListener

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

Đăng ký một trình nghe để nhận thông tin cập nhật về khoá liên hệ của tài khoản.

Trình nghe sẽ được gọi khi có khoá cho bất kỳ accountId nào được cung cấp được cập nhật, thêm hoặc xoá. Hàm này sẽ được gọi bằng danh sách tất cả các khoá cho accountId được cung cấp, chứ không chỉ những khoá đã được cập nhật.

Tham số
@NonNull List<@NonNull String> accountIds

danh sách mã tài khoản để đăng ký trình nghe.

@NonNull OnAccountContactKeysUpdatedListener listener

trình nghe cần đăng ký.

removeE2eeAccountContactKey

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

Xoá một mục khoá liên hệ tài khoản mã hoá hai đầu thuộc ứng dụng gọi.

Tham số
@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

removeE2eeContactKey

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

Xoá một mục khoá liên hệ mã hoá hai đầu thuộc ứng dụng gọi.

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

removeE2eeSelfKey

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

Xoá một mục khoá tự mã hoá hai đầu, cho trước deviceId và tên gói được suy luận của phương thức gọi.

Tham số
@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

unregisterAccountContactKeysListener

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

Huỷ đăng ký một trình nghe để nhận thông tin cập nhật về khoá liên hệ của tài khoản.

Tham số
@NonNull OnAccountContactKeysUpdatedListener listener

trình nghe cần huỷ đăng ký.

updateAllE2eeAccountKeys

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

Chèn một nhóm khoá liên hệ của tài khoản.

Hoạt động tương tự như updateOrInsertE2eeContactKey, nhưng cho phép chèn/cập nhật nhiều khoá cùng một lúc. Mỗi khoá được chèn vào giao dịch riêng, vì vậy, một số khoá có thể được chèn ngay cả khi tác vụ này tạo ra một ngoại lệ.

Các ứng dụng có thể chọn xử lý các lỗi tạm thời bằng cách gửi lại toàn bộ lô, vì API này sẽ không ảnh hưởng đến trạng thái của các khoá đã được chèn.

Đối với mỗi khoá, nếu bạn cung cấp lookupKey nhưng không cung cấp thông tin cơ bản về người liên hệ (displayName, phoneNumber, emailAddress), thì API này cũng sẽ cố gắng truy xuất tên, số điện thoại và địa chỉ email của người liên hệ từ Trình cung cấp danh bạ. Khi truy xuất khoá, các ứng dụng quản lý danh bạ nên sử dụng thông tin này để đảm bảo rằng khoá chỉ được dùng cho người liên hệ mà khoá đó được dự định dùng.

Ứng dụng Xác minh khoá Android lưu trữ thông tin này trên thiết bị và chỉ cung cấp thông tin đó cho những người gọi API có quyền READ_CONTACTS.

Nếu không có lookupKey nào được cung cấp cho một khoá, thì API này sẽ lưu trữ một khoá không liên kết với bất kỳ người liên hệ nào.

Tham số
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

danh sách các đối tượng E2eeAccountKeyInfo chứa thông tin khoá liên hệ mã hoá hai đầu.

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
)

Chèn một mục mới vào bảng khoá liên hệ mã hoá đầu cuối hoặc cập nhật một mục nếu mục đó đã tồn tại. Khoá liên hệ mã hoá hai đầu đã chèn/cập nhật thuộc sở hữu của ứng dụng gọi.

API này cũng sẽ lưu trữ tên, số điện thoại và địa chỉ email của người liên hệ từ Trình cung cấp danh bạ, cùng với khoá. Khi truy xuất khoá, các ứng dụng quản lý danh bạ nên sử dụng thông tin này để đảm bảo rằng khoá chỉ được dùng cho người liên hệ mà khoá đó được dự định dùng.

Ứng dụng Xác minh khoá Android lưu trữ thông tin này trên thiết bị và chỉ cung cấp thông tin đó cho những người gọi API có quyền READ_CONTACTS.

Tham số
@NonNull String lookupKey

giá trị tham chiếu đến người liên hệ

@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

@NonNull byte[] keyValue

các byte thô cho khoá (kích thước tối đa là 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
)

Chèn một mục mới vào bảng khoá liên hệ mã hoá đầu cuối hoặc cập nhật một mục nếu mục đó đã tồn tại. Khoá liên hệ mã hoá hai đầu đã chèn/cập nhật thuộc sở hữu của ứng dụng gọi.

Đối với mỗi khoá tìm kiếm được cung cấp, API này cũng sẽ lưu trữ tên, số điện thoại và địa chỉ email của người liên hệ từ Trình cung cấp danh bạ, cùng với khoá. Khi truy xuất khoá, các ứng dụng quản lý danh bạ nên sử dụng thông tin này để đảm bảo rằng khoá chỉ được dùng cho người liên hệ mà khoá đó được dự định dùng.

Ứng dụng Xác minh khoá Android lưu trữ thông tin này trên thiết bị và chỉ cung cấp thông tin đó cho những người gọi API có quyền READ_CONTACTS.

Nếu danh sách khoá tra cứu trống, API này sẽ lưu trữ một khoá không liên kết với bất kỳ người liên hệ nào.

Khi gọi API này bằng một hoặc nhiều khoá tra cứu, khoá này sẽ cập nhật siêu dữ liệu khoá để liên kết khoá đó với các danh bạ được cung cấp, nhưng sẽ không xoá bất kỳ mối liên kết hiện có nào cho những danh bạ không có trong danh sách. Để xoá mối liên kết giữa một người liên hệ và một khoá, hãy gọi removeE2eeContactKey bằng khoá tra cứu thích hợp.

Tham số
@NonNull List<@NonNull String> lookupKeys

danh sách có thể trống gồm các khoá tra cứu CP2 tham chiếu đến những người liên hệ mà khoá được liên kết

@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

@NonNull byte[] keyValue

các byte thô cho khoá (kích thước tối đa là getMaxKeySizeBytes byte)

updateOrInsertE2eeSelfKey

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

Chèn một mục mới vào bảng khoá tự mã hoá hai đầu hoặc cập nhật một mục nếu mục đó đã tồn tại.

Tham số
@NonNull String deviceId

một giá trị nhận dạng do ứng dụng chỉ định cho thiết bị

@NonNull String accountId

một giá trị nhận dạng do ứng dụng chỉ định cho tài khoản

@NonNull byte[] keyValue

các byte thô cho khoá (kích thước tối đa là getMaxKeySizeBytes byte)