/*
* Copyright (C) 2021-2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {AsyncCallback} from "./basic";
/**
* Provides the capabilities and methods for obtaining Short Message Service (SMS) management objects.
*
* @namespace sms
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
declare namespace sms {
/**
* Splits a long SMS message into multiple fragments.
*
*
If the length of an SMS message exceeds the maximum length allowed (140 bytes),
* the SMS message is split into multiple segments for processing.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { string } content - Indicates the short message content, which cannot be {@code null}.
* @param { AsyncCallback> } callback - Indicates the callback for getting a list of split segments,
* which can be combined into a complete SMS message;
* returns an empty string if no permission is granted or the short message content is {@code null}.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function splitMessage(content: string, callback: AsyncCallback>): void;
/**
* Splits a long SMS message into multiple fragments.
*
* If the length of an SMS message exceeds the maximum length allowed (140 bytes),
* the SMS message is split into multiple segments for processing.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { string } content - Indicates the short message content, which cannot be {@code null}.
* @returns { Promise> } Returns a list of split segments, which can be combined into a complete SMS
* message; returns an empty string if no permission is granted or the short message content is {@code null}.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function splitMessage(content: string): Promise>;
/**
* Creates an SMS message instance based on the protocol data unit (PDU) and the specified SMS protocol.
*
* After receiving the original PDU data, the system creates an SMS message instance according to the specified
* SMS protocol.
*
* @param { Array } pdu - Indicates the original data, which is obtained from the received SMS.
* @param { string } specification - Indicates the SMS protocol type. The value {@code 3gpp} indicates GSM/UMTS/LTE
* SMS, and the value {@code 3gpp2} indicates CDMA/LTE SMS.
* @param { AsyncCallback } callback - Indicates the callback for getting an SMS message instance;
* returns {@code null} if {@code pdu} is empty or {@code specification} is not supported.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
function createMessage(pdu: Array, specification: string, callback: AsyncCallback): void;
/**
* Creates an SMS message instance based on the protocol data unit (PDU) and the specified SMS protocol.
*
* After receiving the original PDU data, the system creates an SMS message instance according to the specified
* SMS protocol.
*
* @param { Array } pdu - Indicates the original data, which is obtained from the received SMS.
* @param { string } specification - Indicates the SMS protocol type. The value {@code 3gpp} indicates GSM/UMTS/LTE
* SMS, and the value {@code 3gpp2} indicates CDMA/LTE SMS.
* @returns { Promise } Returns an SMS message instance;
* returns {@code null} if {@code pdu} is empty or {@code specification} is not supported.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
function createMessage(pdu: Array, specification: string): Promise;
/**
* Sends a text or data SMS message.
*
* This method checks whether the length of an SMS message exceeds the maximum length. If the
* maximum length is exceeded, the SMS message is split into multiple parts and sent separately.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { SendMessageOptions } options - Indicates the parameters and callback for sending the SMS message.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
* @deprecated since 10
* @useinstead telephony.sms#sendShortMessage
*/
function sendMessage(options: SendMessageOptions): void;
/**
* Sends a text or data SMS message.
*
*
This method checks whether the length of an SMS message exceeds the maximum length. If the
* maximum length is exceeded, the SMS message is split into multiple parts and sent separately.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { SendMessageOptions } options - Indicates the parameters and callback for sending the SMS message.
* @param { AsyncCallback } callback - The callback of sendShortMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
function sendShortMessage(options: SendMessageOptions, callback: AsyncCallback): void;
/**
* Sends a text or data SMS message.
*
* This method checks whether the length of an SMS message exceeds the maximum length. If the
* maximum length is exceeded, the SMS message is split into multiple parts and sent separately.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { SendMessageOptions } options - Indicates the parameters and callback for sending the SMS message.
* @returns { Promise } The promise returned by the sendShortMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
function sendShortMessage(options: SendMessageOptions): Promise;
/**
* Sets the default SIM card for sending SMS messages. You can obtain the default SIM card by
* using {@code getDefaultSmsSlotId}.
*
* @permission ohos.permission.SET_TELEPHONY_STATE
* @param { number } slotId - Indicates the default SIM card for sending SMS messages. The value {@code 0} indicates
* card slot 1, and the value {@code 1} indicates card slot 2.
* @param { AsyncCallback } callback - The callback of setDefaultSmsSlotId.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300004 - Do not have sim card.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setDefaultSmsSlotId(slotId: number, callback: AsyncCallback): void;
/**
* Sets the default SIM card for sending SMS messages. You can obtain the default SIM card by
* using {@code getDefaultSmsSlotId}.
*
* @permission ohos.permission.SET_TELEPHONY_STATE
* @param { number } slotId - Indicates the default SIM card for sending SMS messages. The value {@code 0} indicates
* card slot 1, and the value {@code 1} indicates card slot 2.
* @returns { Promise } The promise returned by the setDefaultSmsSlotId.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300004 - Do not have sim card.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setDefaultSmsSlotId(slotId: number): Promise;
/**
* Obtains the default SIM card for sending SMS messages.
*
* @param { AsyncCallback } callback - Indicates the callback for getting the default SIM card for sending SMS
* messages.
* Returns {@code 0} if the default SIM card for sending SMS messages is in card slot 1;
* returns {@code 1} if the default SIM card for sending SMS messages is in card slot 2.
* @syscap SystemCapability.Telephony.SmsMms
* @since 7
*/
function getDefaultSmsSlotId(callback: AsyncCallback): void;
/**
* Obtains the default SIM card for sending SMS messages.
*
* @returns { Promise } Returns {@code 0} if the default SIM card for sending SMS messages is in card slot 1;
* returns {@code 1} if the default SIM card for sending SMS messages is in card slot 2.
* @syscap SystemCapability.Telephony.SmsMms
* @since 7
*/
function getDefaultSmsSlotId(): Promise;
/**
* Sets the address for the Short Message Service Center (SMSC) based on a specified slot ID.
*
* @permission ohos.permission.SET_TELEPHONY_STATE
* @param { number } slotId - Indicates the ID of the slot holding the SIM card for sending SMS messages.
* @param { string } smscAddr - Indicates the SMSC address.
* @param { AsyncCallback } callback - The callback of setSmscAddr.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setSmscAddr(slotId: number, smscAddr: string, callback: AsyncCallback): void;
/**
* Sets the address for the Short Message Service Center (SMSC) based on a specified slot ID.
*
* @permission ohos.permission.SET_TELEPHONY_STATE
* @param { number } slotId - Indicates the ID of the slot holding the SIM card for sending SMS messages.
* @param { string } smscAddr - Indicates the SMSC address.
* @returns { Promise } The promise returned by the setSmscAddr.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setSmscAddr(slotId: number, smscAddr: string): Promise;
/**
* Obtains the SMSC address based on a specified slot ID.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @param { number } slotId - Indicates the ID of the slot holding the SIM card for sending SMS messages.
* @param { AsyncCallback } callback - Indicates the callback for getting the SMSC address.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function getSmscAddr(slotId: number, callback: AsyncCallback): void;
/**
* Obtains the SMSC address based on a specified slot ID.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @param { number } slotId - Indicates the ID of the slot holding the SIM card for sending SMS messages.
* @returns { Promise } Returns the SMSC address.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function getSmscAddr(slotId: number): Promise;
/**
* Returns whether a device is capable of sending and receiving SMS messages.
*
* @returns { boolean } Returns {@code true} if the device is capable of sending and receiving SMS messages;
* returns {@code false} otherwise.
* @syscap SystemCapability.Telephony.SmsMms
* @since 7
*/
function hasSmsCapability(): boolean;
/**
* Add an SMS Message to SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { SimMessageOptions } options - Indicates SIM message options.
* @param { AsyncCallback } callback - The callback of addSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function addSimMessage(options: SimMessageOptions, callback: AsyncCallback): void;
/**
* Add an SMS Message to SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { SimMessageOptions } options - Indicates SIM message options.
* @returns { Promise } The promise returned by the addSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function addSimMessage(options: SimMessageOptions): Promise;
/**
* Delete an SMS Message from the SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @param { number } msgIndex - Indicates the message index.
* @param { AsyncCallback } callback - The callback of delSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function delSimMessage(slotId: number, msgIndex: number, callback: AsyncCallback): void;
/**
* Delete an SMS Message from the SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @param { number } msgIndex - Indicates the message index.
* @returns { Promise } The promise returned by the delSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function delSimMessage(slotId: number, msgIndex: number): Promise;
/**
* Update a SIM SMS of SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { UpdateSimMessageOptions } options - Indicates update SIM message options.
* @param { AsyncCallback } callback - The callback of updateSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function updateSimMessage(options: UpdateSimMessageOptions, callback: AsyncCallback): void;
/**
* Update a SIM SMS of SIM card.
*
* @permission ohos.permission.RECEIVE_SMS and ohos.permission.SEND_MESSAGES
* @param { UpdateSimMessageOptions } options - Indicates update SIM message options.
* @returns { Promise } The promise returned by the updateSimMessage.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function updateSimMessage(options: UpdateSimMessageOptions): Promise;
/**
* Get all SMS records in SIM.
*
* @permission ohos.permission.RECEIVE_SMS
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @param { AsyncCallback> } callback - Indicates the callback for getting a
* {@code SimShortMessage} object.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function getAllSimMessages(slotId: number, callback: AsyncCallback>): void;
/**
* Get all SMS records in SIM.
*
* @permission ohos.permission.RECEIVE_SMS
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @returns { Promise> } Returns a {@code SimShortMessage} object.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function getAllSimMessages(slotId: number): Promise>;
/**
* Turn on or off Cell BroadCast.
*
* @permission ohos.permission.RECEIVE_SMS
* @param { CBConfigOptions } options - Indicates cell broadcast configuration options.
* @param { AsyncCallback } callback - The callback of setCBConfig.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setCBConfig(options: CBConfigOptions, callback: AsyncCallback): void;
/**
* Turn on or off Cell BroadCast.
*
* @permission ohos.permission.RECEIVE_SMS
* @param { CBConfigOptions } options - Indicates cell broadcast configuration options.
* @returns { Promise } The promise returned by the setCBConfig.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
function setCBConfig(options: CBConfigOptions): Promise;
/**
* Get an SMS segment encode relation information.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @param { string } message - Indicates short message.
* @param { boolean } force7bit - Indicates whether to use 7 bit encoding.
* @param { AsyncCallback } callback - Indicates the callback for getting a {@code SmsSegmentsInfo}
* object.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean, callback: AsyncCallback): void;
/**
* Get an SMS segment encode relation information.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
* number supported by the device.
* @param { string } message - Indicates short message.
* @param { boolean } force7bit - Indicates whether to use 7 bit encoding.
* @returns { Promise } Returns a {@code SmsSegmentsInfo} object.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean): Promise;
/**
* SMS over IMS is supported if IMS is registered and SMS is supported on IMS.
*
* @param { number } slotId - Indicates the default SIM card for Ims Sms. The value {@code 0} indicates card slot 1,
* and the value {@code 1} indicates card slot 2.
* @param { AsyncCallback } callback - Indicates the callback of isImsSmsSupported.
* Returns {@code true} if SMS over IMS is supported, {@code false} otherwise.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function isImsSmsSupported(slotId: number, callback: AsyncCallback): void;
/**
* SMS over IMS is supported if IMS is registered and SMS is supported on IMS.
*
* @param { number } slotId - Indicates the default SIM card for Ims Sms. The value {@code 0} indicates card slot 1,
* and the value {@code 1} indicates card slot 2.
* @returns { Promise } Returns {@code true} if SMS over IMS is supported, {@code false} otherwise.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function isImsSmsSupported(slotId: number): Promise;
/**
* Gets SMS format supported on IMS. SMS over IMS format is either 3GPP or 3GPP2.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @param { AsyncCallback } callback - Indicates the callback for getting format, 3gpp, 3gpp2 or unknown.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function getImsShortMessageFormat(callback: AsyncCallback): void;
/**
* Gets SMS format supported on IMS. SMS over IMS format is either 3GPP or 3GPP2.
*
* @permission ohos.permission.GET_TELEPHONY_STATE
* @returns { Promise } Returns format, 3gpp, 3gpp2 or unknown.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function getImsShortMessageFormat(): Promise;
/**
* Decode the message content.
*
* @param { string | Array } mmsFilePathName - Indicates the path name of the multimedia message file.
* @param { AsyncCallback } callback - Indicates the callback for getting a {@code MmsInformation}
* object.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function decodeMms(mmsFilePathName: string | Array, callback: AsyncCallback): void;
/**
* Decode the message content.
*
* @param { string | Array } mmsFilePathName - Indicates the path name of the multimedia message file.
* @returns { Promise } Returns a {@code MmsInformation} object.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function decodeMms(mmsFilePathName: string | Array): Promise;
/**
* Encode the message content.
*
* @param { MmsInformation } mms - Indicates MMS messages.
* @param { AsyncCallback> } callback - Indicates the callback for getting the result of MMS encoding.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function encodeMms(mms: MmsInformation, callback: AsyncCallback>): void;
/**
* Encode the message content.
*
* @param { MmsInformation } mms - Indicates MMS messages.
* @returns { Promise> } Returns the result of MMS encoding.
* @throws { BusinessError } 202 - Non-system applications use system APIs.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
function encodeMms(mms: MmsInformation): Promise>;
/**
* Obtains the default SIM ID for sending SMS messages.
*
* @param { AsyncCallback } callback - Returns the SIM ID of the default sms sim and
* SIM ID will increase from 1.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300004 - Do not have sim card.
* @throws { BusinessError } 8300999 - Unknown error code.
* @throws { BusinessError } 8301001 - SIM card is not activated.
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
function getDefaultSmsSimId(callback: AsyncCallback): void;
/**
* Obtains the default SIM ID for sending SMS messages.
*
* @returns { Promise } Returns the SIM ID of the default sms sim and
* SIM ID will increase from 1.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300004 - Do not have sim card.
* @throws { BusinessError } 8300999 - Unknown error code.
* @throws { BusinessError } 8301001 - SIM card is not activated.
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
function getDefaultSmsSimId(): Promise;
/**
* Defines the MMS message information.
*
* @interface MmsInformation
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsInformation {
/**
* Indicates the message type for the MMS message.
*
* @type { MessageType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageType: MessageType;
/**
* Indicates the PDU header type for the MMS message.
*
* @type { MmsSendReq | MmsSendConf | MmsNotificationInd | MmsRespInd | MmsRetrieveConf | MmsAcknowledgeInd |
* MmsDeliveryInd | MmsReadOrigInd | MmsReadRecInd }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
mmsType: MmsSendReq | MmsSendConf | MmsNotificationInd | MmsRespInd | MmsRetrieveConf | MmsAcknowledgeInd | MmsDeliveryInd | MmsReadOrigInd | MmsReadRecInd;
/**
* Indicates the attachment for the MMS message.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
attachment?: Array;
}
/**
* Sends an MMS message.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { MmsParam } mmsParam - Indicates the parameters of the MMS message.
* @param { AsyncCallback } callback - The callback of sendMms. For error code, see MmsFailCode.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
function sendMms(mmsParam: MmsParam, callback: AsyncCallback): void;
/**
* Sends an MMS message.
*
* @permission ohos.permission.SEND_MESSAGES
* @param { MmsParam } mmsParam - Indicates the parameters of the MMS message.
* @returns { Promise } The promise returned by the sendMms.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
function sendMms(mmsParam: MmsParam): Promise;
/**
* Downloads an MMS message.
*
* @permission ohos.permission.RECEIVE_MMS
* @param { MmsParam } mmsParam - Indicates the parameters of the MMS message.
* @param { AsyncCallback } callback - The callback of downloadMms. For error code, see MmsFailCode.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
function downloadMms(mmsParam: MmsParam, callback: AsyncCallback): void;
/**
* Downloads an MMS message.
*
* @permission ohos.permission.RECEIVE_MMS
* @param { MmsParam } - Indicates the parameters of the MMS message.
* @returns { Promise } The promise returned by the downloadMms. For error code, see MmsFailCode.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 8300001 - Invalid parameter value.
* @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
* @throws { BusinessError } 8300003 - System internal error.
* @throws { BusinessError } 8300999 - Unknown error code.
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
function downloadMms(mmsParam: MmsParam): Promise;
/**
* Defines the MMS message param.
*
* @interface MmsParam
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
export interface MmsParam {
/**
* Indicates the ID of the SIM card slot used for sending the MMS message.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
slotId: number;
/**
* Indicates the MMSC used for sending the MMS message.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
mmsc: string;
/**
* Indicates the MMS pdu url used for sending the MMS message.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
data: string;
/**
* Indicates the MMS UA and MMS UaProf used for sending the MMS message.
*
* @type { ?MmsConfig }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
mmsConfig?: MmsConfig;
}
/**
* Defines the MMS message config.
*
* @interface MmsConfig
* @syscap SystemCapability.Telephony.SmsMms
* @since 10
*/
export interface MmsConfig {
/**
* Indicates the user agent used for the MMS message.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
userAgent: string;
/**
* Indicates the user agent profile for the MMS message.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 11
*/
userAgentProfile: string;
}
/**
* Defines an MMS message sending request.
*
* @interface MmsSendReq
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsSendReq {
/**
* Indicates the source address for the MMS message sending request.
*
* @type { MmsAddress }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
from: MmsAddress;
/**
* Indicates the transaction ID for the MMS message sending request.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the content type for the MMS message sending request.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentType: string;
/**
* Indicates the version for the MMS message sending request.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the destination address for the MMS message sending request.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
to?: Array;
/**
* Indicates the date for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
date?: number;
/**
* Indicates the carbon copy address for the MMS message sending request.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
cc?: Array;
/**
* Indicates the blind carbon copy address for the MMS message sending request.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
bcc?: Array;
/**
* Indicates the subject for the MMS message sending request.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
subject?: string;
/**
* Indicates the message class for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageClass?: number;
/**
* Indicates the expiration for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
expiry?: number;
/**
* Indicates the priority for the MMS message sending request.
*
* @type { ?MmsPriorityType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
priority?: MmsPriorityType;
/**
* Indicates the sender visibility for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
senderVisibility?: number;
/**
* Indicates the delivery report for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
deliveryReport?: number;
/**
* Indicates the read report for the MMS message sending request.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
readReport?: number;
}
/**
* Defines the MMS message sending configuration.
*
* @interface MmsSendConf
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsSendConf {
/**
* Indicates the response status for the MMS message sending configuration.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
responseState: number;
/**
* Indicates the transaction ID for the MMS message sending configuration.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the version for the MMS message sending configuration.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the message ID for the MMS message sending configuration.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageId?: string;
}
/**
* Defines an MMS notification indication.
*
* @interface MmsNotificationInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsNotificationInd {
/**
* Indicates the transaction ID for the MMS notification indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the message class for the MMS notification indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageClass: number;
/**
* Indicates the message size for the MMS notification indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageSize: number;
/**
* Indicates the expiration for the MMS notification indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
expiry: number;
/**
* Indicates the content location for the MMS notification indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentLocation: string;
/**
* Indicates the version for the MMS notification indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the source address for the MMS notification indication.
*
* @type { ?MmsAddress }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
from?: MmsAddress;
/**
* Indicates the subject for the MMS notification indication.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
subject?: string;
/**
* Indicates the status report for the MMS notification indication.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
deliveryReport?: number;
/**
* Indicates the content class for the MMS notification indication.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentClass?: number;
}
/**
* Defines an MMS response indication.
*
* @interface MmsRespInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsRespInd {
/**
* Indicates the event ID for the MMS response indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the status for the MMS response indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
status: number;
/**
* Indicates the version for the MMS response indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the report allowed for the MMS response indication.
*
* @type { ?ReportType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
reportAllowed?: ReportType;
}
/**
* Defines the MMS message retrieval configuration.
*
* @interface MmsRetrieveConf
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsRetrieveConf {
/**
* Indicates the transaction ID for the MMS message retrieval configuration.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the message ID for the MMS message retrieval configuration.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageId: string;
/**
* Indicates the date for the MMS message retrieval configuration.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
date: number;
/**
* Indicates the content type for the MMS message retrieval configuration.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentType: string;
/**
* Indicates the destination address for the MMS message retrieval configuration.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
to: Array;
/**
* Indicates the version for the MMS message retrieval configuration.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the source address for the MMS message retrieval configuration.
*
* @type { ?MmsAddress }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
from?: MmsAddress;
/**
* Indicates the carbon copy address for the MMS message retrieval configuration.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
cc?: Array;
/**
* Indicates the subject for the MMS message retrieval configuration.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
subject?: string;
/**
* Indicates the priority for the MMS message retrieval configuration.
*
* @type { ?MmsPriorityType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
priority?: MmsPriorityType;
/**
* Indicates the status report for the MMS message retrieval configuration.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
deliveryReport?: number;
/**
* Indicates the read report for the MMS message retrieval configuration.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
readReport?: number;
/**
* Indicates the retrieval status for the MMS message retrieval configuration.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
retrieveStatus?: number;
/**
* Indicates the retrieval text for the MMS message retrieval configuration.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
retrieveText?: string;
}
/**
* Defines an MMS confirmation indication.
*
* @interface MmsAcknowledgeInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsAcknowledgeInd {
/**
* Indicates the transaction ID for the MMS confirmation indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
transactionId: string;
/**
* Indicates the version for the MMS confirmation indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the report allowed for the MMS confirmation indication.
*
* @type { ?ReportType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
reportAllowed?: ReportType;
}
/**
* Defines an MMS message delivery indication.
*
* @interface MmsDeliveryInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsDeliveryInd {
/**
* Indicates the message ID for the MMS message delivery indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageId: string;
/**
* Indicates the date for the MMS message delivery indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
date: number;
/**
* Indicates the destination address for the MMS message delivery indication.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
to: Array;
/**
* Indicates the status for the MMS message delivery indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
status: number;
/**
* Indicates the version for the MMS message delivery indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
}
/**
* Defines the original MMS message reading indication.
*
* @interface MmsReadOrigInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsReadOrigInd {
/**
* Indicates the version for the original MMS message reading indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the message ID for the original MMS message reading indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageId: string;
/**
* Indicates the destination address for the original MMS message reading indication.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
to: Array;
/**
* Indicates the source address for the original MMS message reading indication.
*
* @type { MmsAddress }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
from: MmsAddress;
/**
* Indicates the date for the original MMS message reading indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
date: number;
/**
* Indicates the read status for the original MMS message reading indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
readStatus: number;
}
/**
* Defines the MMS message reading indication.
*
* @interface MmsReadRecInd
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsReadRecInd {
/**
* Indicates the version for the MMS message reading indication.
*
* @type { MmsVersionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
version: MmsVersionType;
/**
* Indicates the message ID for the MMS message reading indication.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
messageId: string;
/**
* Indicates the destination address for the MMS message reading indication.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
to: Array;
/**
* Indicates the source address for the MMS message reading indication.
*
* @type { MmsAddress }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
from: MmsAddress;
/**
* Indicates the read status for the MMS message reading indication.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
readStatus: number;
/**
* Indicates the date for the MMS message reading indication.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
date?: number;
}
/**
* Defines the attachment of an MMS message.
*
* @interface MmsAttachment
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsAttachment {
/**
* Indicates the content ID for the attachment.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentId: string;
/**
* Indicates the content location.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentLocation: string;
/**
* Indicates the content disposition for the attachment.
*
* @type { DispositionType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentDisposition: DispositionType;
/**
* Indicates the encoding for content transfer.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentTransferEncoding: string;
/**
* Indicates the content type for the attachment.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
contentType: string;
/**
* Indicates whether the synchronized multimedia integration language is used.
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
isSmil: boolean;
/**
* Indicates the path for the attachment.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
path?: string;
/**
* Indicates whether the message is in the buffer.
*
* @type { ?Array }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
inBuff?: Array;
/**
* Indicates the file name for the attachment.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
fileName?: string;
/**
* Indicates the character set for the attachment.
*
* @type { ?MmsCharSets }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
charset?: MmsCharSets;
}
/**
* Defines an MMSC address.
*
* @interface MmsAddress
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface MmsAddress {
/**
* Indicates the network address for the MMSC address.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
address: string;
/**
* Indicates the character set for the MMSC address.
*
* @type { MmsCharSets }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
charset: MmsCharSets;
}
/**
* Enumerates message type.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum MessageType {
/**
* Indicates an MMS message sending request.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_SEND_REQ = 128,
/**
* Indicates an MMS message sending configuration.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_SEND_CONF,
/**
* Indicates an MMS notification.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_NOTIFICATION_IND,
/**
* Indicates an MMS message response.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_RESP_IND,
/**
* Indicates an MMS message retrieval configuration.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_RETRIEVE_CONF,
/**
* Indicates the type of multimedia message confirmation index.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_ACKNOWLEDGE_IND,
/**
* Indicates an MMS message delivery.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_DELIVERY_IND,
/**
* Indicates an MMS message read report on the recipient side.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_READ_REC_IND,
/**
* Indicates an original MMS message read report on the originating side.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
TYPE_MMS_READ_ORIG_IND,
}
/**
* Enumerates MMS fail code.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
export enum MmsFailCode {
/**
* Indicates that no error occurred during send or download MMS.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_NONE_ERROR = 0,
/**
* Indicates an unknown error occurred during send or download MMS.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_UNKNOWN_ERROR,
/**
* Indicates an apn invalid error occurred during the MMS network setup.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_APN_INVALID,
/**
* Indicates an error occurred during the MMS connection setup.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_CONNECT_MMS_ERROR,
/**
* Indicates an error occurred during the HTTP client setup.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_HTTP_ERROR,
/**
* Indicates an I/O error occurred during reading the PDU.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_IO_ERROR,
/**
* Indicates an error occurred while retrying sending or downloading the MMS.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_RETRY_ERROR,
/**
* Indicates that the MMS configuration values could not be loaded.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_CONFIGURATION_ERROR,
/**
* Indicates that there is no data network for MMS.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 9
*/
MMS_FAIL_DATA_NETWORK_ERROR,
}
/**
* Enumerates MMS message priorities.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum MmsPriorityType {
/**
* Indicates low priority.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_LOW = 128,
/**
* Indicates normal priority.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_NORMAL,
/**
* Indicates high priority.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_HIGH,
}
/**
* Enumerates MMS versions.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum MmsVersionType {
/**
* Indicates MMS version 1_0.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_VERSION_1_0 = 0x10,
/**
* Indicates MMS version 1_1.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_VERSION_1_1,
/**
* Indicates MMS version 1_2.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_VERSION_1_2,
/**
* Indicates MMS version 1_3.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_VERSION_1_3,
}
/**
* Enumerates MMS character sets.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum MmsCharSets {
/**
* Indicates the BIG5 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
BIG5 = 0X07EA,
/**
* Indicates the ISO_10646_UCS_2 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_10646_UCS_2 = 0X03E8,
/**
* Indicates the ISO_8859_1 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_1 = 0X04,
/**
* Indicates the ISO_8859_2 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_2,
/**
* Indicates the ISO_8859_3 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_3,
/**
* Indicates the ISO_8859_4 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_4,
/**
* Indicates the ISO_8859_5 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_5,
/**
* Indicates the ISO_8859_6 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_6,
/**
* Indicates the ISO_8859_7 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_7,
/**
* Indicates the ISO_8859_8 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_8,
/**
* Indicates the ISO_8859_9 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ISO_8859_9,
/**
* Indicates the SHIFT_JIS format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
SHIFT_JIS = 0X11,
/**
* Indicates the US_ASCII format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
US_ASCII = 0X03,
/**
* Indicates the UTF_8 format.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
UTF_8 = 0X6A,
}
/**
* Enumerates disposition types.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum DispositionType {
/**
* Indicates the data source type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
FROM_DATA = 0,
/**
* Indicates the attachment type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
ATTACHMENT,
/**
* Indicates the inlining type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
INLINE,
}
/**
* Enumerates report types.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum ReportType {
/**
* Indicates that a report is required.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_YES = 128,
/**
* Indicates that a report is not required.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
MMS_NO,
}
/**
* Defines the cell broadcast configuration options.
*
* @interface CBConfigOptions
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export interface CBConfigOptions {
/**
* Indicates the card slot ID for the cell broadcast configuration options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
slotId: number;
/**
* Indicates whether to enable cell broadcast.
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
enable: boolean;
/**
* Indicates the start message ID for the cell broadcast configuration options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
startMessageId: number;
/**
* Indicates the end message ID for the cell broadcast configuration options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
endMessageId: number;
/**
* Indicates the RAN type for the cell broadcast configuration options.
*
* @type { RanType }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
ranType: RanType;
}
/**
* Defines the SIM message options.
*
* @interface SimMessageOptions
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export interface SimMessageOptions {
/**
* Indicates the card slot ID for the SIM message options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
slotId: number;
/**
* Indicates the short message service center for the SIM message options.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
smsc: string;
/**
* Indicates the protocol data unit for the SIM message options.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
pdu: string;
/**
* Indicates the status for the SIM message options.
*
* @type { SimMessageStatus }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
status: SimMessageStatus;
}
/**
* Defines the updating SIM message options.
*
* @interface UpdateSimMessageOptions
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export interface UpdateSimMessageOptions {
/**
* Indicates the card slot ID for the updating SIM message options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
slotId: number;
/**
* Indicates the message index for the updating SIM message options.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
msgIndex: number;
/**
* Indicates the new status for the updating SIM message options.
*
* @type { SimMessageStatus }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
newStatus: SimMessageStatus;
/**
* Indicates the protocol data unit for the updating SIM message options.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
pdu: string;
/**
* Indicates the short message service center for the updating SIM message options.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
smsc: string;
}
/**
* Defines an SMS message instance.
*
* @interface ShortMessage
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export interface ShortMessage {
/**
* Indicates the SMS message body.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
visibleMessageBody: string;
/**
* Indicates the address of the sender, which is to be displayed on the UI.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
visibleRawAddress: string;
/**
* Indicates the SMS type.
*
* @type { ShortMessageClass }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
messageClass: ShortMessageClass;
/**
* Indicates the protocol identifier.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
protocolId: number;
/**
* Indicates the short message service center (SMSC) address.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
scAddress: string;
/**
* Indicates the SMSC timestamp.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
scTimestamp: number;
/**
* Indicates whether the received SMS is a "replace short message".
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
isReplaceMessage: boolean;
/**
* Indicates whether the received SMS contains "TP-Reply-Path".
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
hasReplyPath: boolean;
/**
* Indicates Protocol Data Units (PDUs) from an SMS message.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
pdu: Array;
/**
* Indicates the SMS message status from the SMS-STATUS-REPORT message sent by the
* Short Message Service Center (SMSC).
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
status: number;
/**
* Indicates whether the current message is SMS-STATUS-REPORT.
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
isSmsStatusReportMessage: boolean;
}
/**
* Defines a SIM message.
*
* @interface SimShortMessage
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export interface SimShortMessage {
/**
* Indicates the SMS message in the SIM.
*
* @type { ShortMessage }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
shortMessage: ShortMessage;
/**
* Indicates the storage status of SMS messages in the SIM.
*
* @type { SimMessageStatus }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
simMessageStatus: SimMessageStatus;
/**
* Indicates the index of SMS messages in the SIM.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
indexOnSim: number;
}
/**
* Defines the SIM message status.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export enum SimMessageStatus {
/**
* Status free space on SIM.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
SIM_MESSAGE_STATUS_FREE = 0,
/**
* Indicates a read message.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
SIM_MESSAGE_STATUS_READ = 1,
/**
* Indicates an unread message.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
SIM_MESSAGE_STATUS_UNREAD = 3,
/**
* Indicates a sent message (only applicable to SMS).
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
SIM_MESSAGE_STATUS_SENT = 5,
/**
* Indicates an unsent message (only applicable to SMS).
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
SIM_MESSAGE_STATUS_UNSENT = 7,
}
/**
* Enumerates SMS message types.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export enum ShortMessageClass {
/**
* Indicates an unknown type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
UNKNOWN,
/**
* Indicates an instant message, which is displayed immediately after being received.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
INSTANT_MESSAGE,
/**
* Indicates an SMS message that can be stored on the device or SIM card based on the storage status.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
OPTIONAL_MESSAGE,
/**
* Indicates an SMS message containing SIM card information, which is to be stored in a SIM card.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
SIM_MESSAGE,
/**
* Indicates an SMS message to be forwarded to another device.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
FORWARD_MESSAGE
}
/**
* Provides the options (including callbacks) for sending an SMS message.
*
* @interface SendMessageOptions
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export interface SendMessageOptions {
/**
* Indicates the ID of the SIM card slot used for sending the SMS message.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
slotId: number;
/**
* Indicates the address to which the SMS message is sent.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
destinationHost: string;
/**
* Indicates the SMSC address. If the value is {@code null}, the default SMSC address of the SIM card.
*
* @type { ?string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
serviceCenter?: string;
/**
* If the content is a string, this is a short message. If the content is a byte array, this is a data message.
*
* @type { string | Array }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
content: string | Array;
/**
* If send data message, destinationPort is mandatory. Otherwise is optional.
*
* @type { ?number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
destinationPort?: number;
/**
* Indicates the callback invoked after the SMS message is sent.
*
* @type { ?AsyncCallback }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
sendCallback?: AsyncCallback;
/**
* Indicates the callback invoked after the SMS message is delivered.
*
* @type { ?AsyncCallback }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
deliveryCallback?: AsyncCallback;
}
/**
* Provides the callback for the SMS message sending result.
*
* @interface ISendShortMessageCallback
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export interface ISendShortMessageCallback {
/**
* Indicates the SMS message sending result.
*
* @type { SendSmsResult }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
result: SendSmsResult;
/**
* Indicates the URI to store the sent SMS message.
*
* @type { string }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
url: string;
/**
* Specifies whether this is the last part of a multi-part SMS message.
*
* @type { boolean }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
isLastPart: boolean;
}
/**
* Provides the callback for the SMS message delivery report.
*
* @interface IDeliveryShortMessageCallback
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export interface IDeliveryShortMessageCallback {
/**
* Indicates the SMS delivery report.
*
* @type { Array }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
pdu: Array;
}
/**
* Enumerates SMS message sending results.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
export enum SendSmsResult {
/**
* Indicates that the SMS message is successfully sent.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
SEND_SMS_SUCCESS = 0,
/**
* Indicates that sending the SMS message fails due to an unknown reason.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
SEND_SMS_FAILURE_UNKNOWN = 1,
/**
* Indicates that sending the SMS fails because the modem is powered off.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
SEND_SMS_FAILURE_RADIO_OFF = 2,
/**
* Indicates that sending the SMS message fails because the network is unavailable
* or does not support sending or reception of SMS messages.
*
* @syscap SystemCapability.Telephony.SmsMms
* @since 6
*/
SEND_SMS_FAILURE_SERVICE_UNAVAILABLE = 3
}
/**
* Enumerates RAN type.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
export enum RanType {
/**
* Indicates GSM type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
TYPE_GSM = 1,
/**
* Indicates CDMA type.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 7
*/
TYPE_CDMA = 2,
}
/**
* Defines the SMS message segment information.
*
* @interface SmsSegmentsInfo
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export interface SmsSegmentsInfo {
/**
* Indicates the split count for the SMS message segment information.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
splitCount: number;
/**
* Indicates the encoding count for the SMS message segment information.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
encodeCount: number;
/**
* Indicates the remaining encoding count for the SMS message segment information.
*
* @type { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
encodeCountRemaining: number;
/**
* Indicates the encoding scheme for the SMS message segment information.
*
* @type { SmsEncodingScheme }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
scheme: SmsEncodingScheme;
}
/**
* Enumerates SMS encoding schemes.
*
* @enum { number }
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
export enum SmsEncodingScheme {
/**
* Indicates an unknown encoding schemes.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
SMS_ENCODING_UNKNOWN = 0,
/**
* Indicates that the encoding schemes is 7-digit.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
SMS_ENCODING_7BIT,
/**
* Indicates that the encoding schemes is 8-digit.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
SMS_ENCODING_8BIT,
/**
* Indicates that the encoding schemes is 16-digit.
*
* @syscap SystemCapability.Telephony.SmsMms
* @systemapi Hide this for inner system use.
* @since 8
*/
SMS_ENCODING_16BIT,
}
}
export default sms;