161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ConnectivityKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { AsyncCallback, BusinessError, Callback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * Provides methods to operate or manage Connected Tag. 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace connectedTag 2761847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 2861847f8eSopenharmony_ci * @since 8 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_cideclare namespace connectedTag { 3161847f8eSopenharmony_ci /** 3261847f8eSopenharmony_ci * Initializes Connected Tag. 3361847f8eSopenharmony_ci * 3461847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 3561847f8eSopenharmony_ci * @returns { boolean } Returns true if init success, otherwise returns false. 3661847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 3761847f8eSopenharmony_ci * @since 8 3861847f8eSopenharmony_ci * @deprecated since 9 3961847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#initialize 4061847f8eSopenharmony_ci */ 4161847f8eSopenharmony_ci function init(): boolean; 4261847f8eSopenharmony_ci 4361847f8eSopenharmony_ci /** 4461847f8eSopenharmony_ci * Initializes the connected NFC tag. 4561847f8eSopenharmony_ci * 4661847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 4761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 4861847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 4961847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 5061847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 5161847f8eSopenharmony_ci * @since 9 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ci function initialize(): void; 5461847f8eSopenharmony_ci 5561847f8eSopenharmony_ci /** 5661847f8eSopenharmony_ci * UnInitializes Connected Tag. 5761847f8eSopenharmony_ci * 5861847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 5961847f8eSopenharmony_ci * @returns { boolean } Returns true if uninit success, otherwise returns false. 6061847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 6161847f8eSopenharmony_ci * @since 8 6261847f8eSopenharmony_ci * @deprecated since 9 6361847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#uninitialize 6461847f8eSopenharmony_ci */ 6561847f8eSopenharmony_ci function uninit(): boolean; 6661847f8eSopenharmony_ci 6761847f8eSopenharmony_ci /** 6861847f8eSopenharmony_ci * Uninitializes the connected NFC tag. 6961847f8eSopenharmony_ci * 7061847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 7161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 7261847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 7361847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 7461847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 7561847f8eSopenharmony_ci * @since 9 7661847f8eSopenharmony_ci */ 7761847f8eSopenharmony_ci function uninitialize(): void; 7861847f8eSopenharmony_ci 7961847f8eSopenharmony_ci /** 8061847f8eSopenharmony_ci * Reads the NDEF Data. 8161847f8eSopenharmony_ci * 8261847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 8361847f8eSopenharmony_ci * @returns { Promise<string> } Returns the NDEF Data. 8461847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 8561847f8eSopenharmony_ci * @since 8 8661847f8eSopenharmony_ci * @deprecated since 9 8761847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#read 8861847f8eSopenharmony_ci */ 8961847f8eSopenharmony_ci function readNdefTag(): Promise<string>; 9061847f8eSopenharmony_ci 9161847f8eSopenharmony_ci /** 9261847f8eSopenharmony_ci * Reads the NDEF Data. 9361847f8eSopenharmony_ci * 9461847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 9561847f8eSopenharmony_ci * @param { AsyncCallback<string> } callback 9661847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 9761847f8eSopenharmony_ci * @since 8 9861847f8eSopenharmony_ci * @deprecated since 9 9961847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#read 10061847f8eSopenharmony_ci */ 10161847f8eSopenharmony_ci function readNdefTag(callback: AsyncCallback<string>): void; 10261847f8eSopenharmony_ci 10361847f8eSopenharmony_ci /** 10461847f8eSopenharmony_ci * Reads the NDEF data from the connected NFC tag. 10561847f8eSopenharmony_ci * 10661847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 10761847f8eSopenharmony_ci * @returns { Promise<number[]> } The reponse NDEF data. 10861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 10961847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 11061847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 11161847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 11261847f8eSopenharmony_ci * @since 9 11361847f8eSopenharmony_ci */ 11461847f8eSopenharmony_ci function read(): Promise<number[]>; 11561847f8eSopenharmony_ci 11661847f8eSopenharmony_ci /** 11761847f8eSopenharmony_ci * Reads the NDEF data from the connected NFC tag. 11861847f8eSopenharmony_ci * 11961847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 12061847f8eSopenharmony_ci * @param { AsyncCallback<number[]> } callback The callback to receive the data. 12161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 12261847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 12361847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 12461847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 12561847f8eSopenharmony_ci * @since 9 12661847f8eSopenharmony_ci */ 12761847f8eSopenharmony_ci function read(callback: AsyncCallback<number[]>): void; 12861847f8eSopenharmony_ci 12961847f8eSopenharmony_ci /** 13061847f8eSopenharmony_ci * Writes the NDEF Data. 13161847f8eSopenharmony_ci * 13261847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 13361847f8eSopenharmony_ci * @param { string } data The Data to write. 13461847f8eSopenharmony_ci * @returns { Promise<void> } The void. 13561847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 13661847f8eSopenharmony_ci * @since 8 13761847f8eSopenharmony_ci * @deprecated since 9 13861847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#write 13961847f8eSopenharmony_ci */ 14061847f8eSopenharmony_ci function writeNdefTag(data: string): Promise<void>; 14161847f8eSopenharmony_ci 14261847f8eSopenharmony_ci /** 14361847f8eSopenharmony_ci * Writes the NDEF Data. 14461847f8eSopenharmony_ci * 14561847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 14661847f8eSopenharmony_ci * @param { string } data The Data to write. 14761847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback 14861847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 14961847f8eSopenharmony_ci * @since 8 15061847f8eSopenharmony_ci * @deprecated since 9 15161847f8eSopenharmony_ci * @useinstead ohos.connectedTag/connectedTag#write 15261847f8eSopenharmony_ci */ 15361847f8eSopenharmony_ci function writeNdefTag(data: string, callback: AsyncCallback<void>): void; 15461847f8eSopenharmony_ci 15561847f8eSopenharmony_ci /** 15661847f8eSopenharmony_ci * Writes the NDEF data to the connected NFC tag. 15761847f8eSopenharmony_ci * 15861847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 15961847f8eSopenharmony_ci * @param { number[] } data Indicates the NDEF data to send, which is a byte array. 16061847f8eSopenharmony_ci * @returns { Promise<void> } The void. 16161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 16261847f8eSopenharmony_ci * @throws { BusinessError } 401 - The parameter check failed. Possible causes: 16361847f8eSopenharmony_ci * <br> 1. Mandatory parameters are left unspecified. 16461847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 16561847f8eSopenharmony_ci * <br> 3. Parameter verification failed. 16661847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 16761847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 16861847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 16961847f8eSopenharmony_ci * @since 9 17061847f8eSopenharmony_ci */ 17161847f8eSopenharmony_ci function write(data: number[]): Promise<void>; 17261847f8eSopenharmony_ci 17361847f8eSopenharmony_ci /** 17461847f8eSopenharmony_ci * Writes the NDEF data to the connected NFC tag. 17561847f8eSopenharmony_ci * 17661847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 17761847f8eSopenharmony_ci * @param { number[] } data Indicates the NDEF data to send, which is a byte array. 17861847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback 17961847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. 18061847f8eSopenharmony_ci * @throws { BusinessError } 401 - The parameter check failed. Possible causes: 18161847f8eSopenharmony_ci * <br> 1. Mandatory parameters are left unspecified. 18261847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 18361847f8eSopenharmony_ci * <br> 3. Parameter verification failed. 18461847f8eSopenharmony_ci * @throws { BusinessError } 801 - Capability not supported. 18561847f8eSopenharmony_ci * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service. 18661847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 18761847f8eSopenharmony_ci * @since 9 18861847f8eSopenharmony_ci */ 18961847f8eSopenharmony_ci function write(data: number[], callback: AsyncCallback<void>): void; 19061847f8eSopenharmony_ci 19161847f8eSopenharmony_ci /** 19261847f8eSopenharmony_ci * Subscribes NFC RF status change events. 19361847f8eSopenharmony_ci * 19461847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 19561847f8eSopenharmony_ci * @param {'notify'} type The callback type. 19661847f8eSopenharmony_ci * @param { Callback<number> } callback The callback function to be registered. 19761847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 19861847f8eSopenharmony_ci * @since 8 19961847f8eSopenharmony_ci */ 20061847f8eSopenharmony_ci function on(type: 'notify', callback: Callback<number>): void; 20161847f8eSopenharmony_ci 20261847f8eSopenharmony_ci /** 20361847f8eSopenharmony_ci * Unsubscribes NFC RF status change events. 20461847f8eSopenharmony_ci * <p>All callback functions will be unregistered If there is no specific callback parameter.</p> 20561847f8eSopenharmony_ci * 20661847f8eSopenharmony_ci * @permission ohos.permission.NFC_TAG 20761847f8eSopenharmony_ci * @param { 'notify' } type The callback type. 20861847f8eSopenharmony_ci * @param { Callback<number> } callback The callback function to be unregistered. 20961847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 21061847f8eSopenharmony_ci * @since 8 21161847f8eSopenharmony_ci */ 21261847f8eSopenharmony_ci function off(type: 'notify', callback?: Callback<number>): void; 21361847f8eSopenharmony_ci 21461847f8eSopenharmony_ci /** 21561847f8eSopenharmony_ci * Describes the NFC RF type. 21661847f8eSopenharmony_ci * 21761847f8eSopenharmony_ci * @enum { number } 21861847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 21961847f8eSopenharmony_ci * @since 8 22061847f8eSopenharmony_ci */ 22161847f8eSopenharmony_ci enum NfcRfType { 22261847f8eSopenharmony_ci /** 22361847f8eSopenharmony_ci * NFC RF LEAVE 22461847f8eSopenharmony_ci * 22561847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 22661847f8eSopenharmony_ci * @since 8 22761847f8eSopenharmony_ci */ 22861847f8eSopenharmony_ci NFC_RF_LEAVE = 0, 22961847f8eSopenharmony_ci 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * NFC RF ENTER 23261847f8eSopenharmony_ci * 23361847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag 23461847f8eSopenharmony_ci * @since 8 23561847f8eSopenharmony_ci */ 23661847f8eSopenharmony_ci NFC_RF_ENTER = 1 23761847f8eSopenharmony_ci } 23861847f8eSopenharmony_ci} 23961847f8eSopenharmony_ci 24061847f8eSopenharmony_ciexport default connectedTag; 241