IT. Expert System.

Android Reference

SmsMessage


android.telephony

Class SmsMessage



  • public class SmsMessage
    extends Object
    A Short Message Service message.
    • Field Detail

      • ENCODING_UNKNOWN

        public static final int ENCODING_UNKNOWN
        User data text encoding code unit size
        See Also:
        Constant Field Values
      • MAX_USER_DATA_BYTES

        public static final int MAX_USER_DATA_BYTES
        The maximum number of payload bytes per message
        See Also:
        Constant Field Values
      • MAX_USER_DATA_BYTES_WITH_HEADER

        public static final int MAX_USER_DATA_BYTES_WITH_HEADER
        The maximum number of payload bytes per message if a user data header is present. This assumes the header only contains the CONCATENATED_8_BIT_REFERENCE element.
        See Also:
        Constant Field Values
      • MAX_USER_DATA_SEPTETS

        public static final int MAX_USER_DATA_SEPTETS
        The maximum number of payload septets per message
        See Also:
        Constant Field Values
      • MAX_USER_DATA_SEPTETS_WITH_HEADER

        public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER
        The maximum number of payload septets per message if a user data header is present. This assumes the header only contains the CONCATENATED_8_BIT_REFERENCE element.
        See Also:
        Constant Field Values
      • mWrappedSmsMessage

        public com.android.internal.telephony.SmsMessageBase mWrappedSmsMessage
        Contains actual SmsMessage. Only public for debugging and for framework layer.
    • Method Detail

      • createFromPdu

        public static SmsMessage createFromPdu(byte[] pdu)
        Create an SmsMessage from a raw PDU.

        This method will soon be deprecated and all applications which handle incoming SMS messages by processing the SMS_RECEIVED_ACTION broadcast intent must now pass the new format String extra from the intent into the new method createFromPdu(byte[], String) which takes an extra format parameter. This is required in order to correctly decode the PDU on devices that require support for both 3GPP and 3GPP2 formats at the same time, such as dual-mode GSM/CDMA and CDMA/LTE phones.

      • createFromPdu

        public static SmsMessage createFromPdu(byte[] pdu,
                               String format)
        Create an SmsMessage from a raw PDU with the specified message format. The message format is passed in the SMS_RECEIVED_ACTION as the format String extra, and will be either "3gpp" for GSM/UMTS/LTE messages in 3GPP format or "3gpp2" for CDMA/LTE messages in 3GPP2 format.
        Parameters:
        pdu - the message PDU from the SMS_RECEIVED_ACTION intent
        format - the format extra from the SMS_RECEIVED_ACTION intent
      • newFromCMT

        public static SmsMessage newFromCMT(String[] lines)
        TS 27.005 3.4.1 lines[0] and lines[1] are the two lines read from the +CMT unsolicited response (PDU mode, of course) +CMT: [<alpha>], Only public for debugging and for RIL
      • createFromEfRecord

        public static SmsMessage createFromEfRecord(int index,
                                    byte[] data)
        Create an SmsMessage from an SMS EF record.
        Parameters:
        index - Index of SMS record. This should be index in ArrayList returned by SmsManager.getAllMessagesFromSim + 1.
        data - Record data.
        Returns:
        An SmsMessage representing the record.
      • getTPLayerLengthForPDU

        public static int getTPLayerLengthForPDU(String pdu)
        Get the TP-Layer-Length for the given SMS-SUBMIT PDU Basically, the length in bytes (not hex chars) less the SMSC header FIXME: This method is only used by a CTS test case that isn't run on CDMA devices. We should probably deprecate it and remove the obsolete test case.
      • calculateLength

        public static int[] calculateLength(CharSequence msgBody,
                            boolean use7bitOnly)
        Calculates the number of SMS's required to encode the message body and the number of characters remaining until the next message.
        Parameters:
        msgBody - the message to encode
        use7bitOnly - if true, characters that are not part of the radio-specific 7-bit encoding are counted as single space chars. If false, and if the messageBody contains non-7-bit encodable characters, length is calculated using a 16-bit encoding.
        Returns:
        an int[4] with int[0] being the number of SMS's required, int[1] the number of code units used, and int[2] is the number of code units remaining until the next message. int[3] is an indicator of the encoding code unit size (see the ENCODING_* definitions in SmsConstants)
      • fragmentText

        public static ArrayList<String> fragmentText(String text)
        Divide a message text into several fragments, none bigger than the maximum SMS message text size.
        Parameters:
        text - text, must not be null.
        Returns:
        an ArrayList of strings that, in order, comprise the original msg text
      • calculateLength

        public static int[] calculateLength(String messageBody,
                            boolean use7bitOnly)
        Calculates the number of SMS's required to encode the message body and the number of characters remaining until the next message, given the current encoding.
        Parameters:
        messageBody - the message to encode
        use7bitOnly - if true, characters that are not part of the radio specific (GSM / CDMA) alphabet encoding are converted to as a single space characters. If false, a messageBody containing non-GSM or non-CDMA alphabet characters are encoded using 16-bit encoding.
        Returns:
        an int[4] with int[0] being the number of SMS's required, int[1] the number of code units used, and int[2] is the number of code units remaining until the next message. int[3] is the encoding type that should be used for the message.
      • getSubmitPdu

        public static SmsMessage.SubmitPdu getSubmitPdu(String scAddress,
                                        String destinationAddress,
                                        String message,
                                        boolean statusReportRequested)
        Get an SMS-SUBMIT PDU for a destination address and a message. This method will not attempt to use any GSM national language 7 bit encodings.
        Parameters:
        scAddress - Service Centre address. Null means use default.
        Returns:
        a SubmitPdu containing the encoded SC address, if applicable, and the encoded message. Returns null on encode error.
      • getSubmitPdu

        public static SmsMessage.SubmitPdu getSubmitPdu(String scAddress,
                                        String destinationAddress,
                                        short destinationPort,
                                        byte[] data,
                                        boolean statusReportRequested)
        Get an SMS-SUBMIT PDU for a data message to a destination address & port. This method will not attempt to use any GSM national language 7 bit encodings.
        Parameters:
        scAddress - Service Centre address. null == use default
        destinationAddress - the address of the destination for the message
        destinationPort - the port to deliver the message to at the destination
        data - the data for the message
        Returns:
        a SubmitPdu containing the encoded SC address, if applicable, and the encoded message. Returns null on encode error.
      • getServiceCenterAddress

        public String getServiceCenterAddress()
        Returns the address of the SMS service center that relayed this message or null if there is none.
      • getOriginatingAddress

        public String getOriginatingAddress()
        Returns the originating address (sender) of this SMS message in String form or null if unavailable
      • getDisplayOriginatingAddress

        public String getDisplayOriginatingAddress()
        Returns the originating address, or email from address if this message was from an email gateway. Returns null if originating address unavailable.
      • getMessageBody

        public String getMessageBody()
        Returns the message body as a String, if it exists and is text based.
        Returns:
        message body is there is one, otherwise null
      • getDisplayMessageBody

        public String getDisplayMessageBody()
        Returns the message body, or email message body if this message was from an email gateway. Returns null if message body unavailable.
      • getPseudoSubject

        public String getPseudoSubject()
        Unofficial convention of a subject line enclosed in parens empty string if not present
      • getTimestampMillis

        public long getTimestampMillis()
        Returns the service centre timestamp in currentTimeMillis() format
      • isEmail

        public boolean isEmail()
        Returns true if message is an email.
        Returns:
        true if this message came through an email gateway and email sender / subject / parsed body are available
      • getEmailBody

        public String getEmailBody()
        Returns:
        if isEmail() is true, body of the email sent through the gateway. null otherwise
      • getEmailFrom

        public String getEmailFrom()
        Returns:
        if isEmail() is true, email from address of email sent through the gateway. null otherwise
      • getProtocolIdentifier

        public int getProtocolIdentifier()
        Get protocol identifier.
      • isReplace

        public boolean isReplace()
        See TS 23.040 9.2.3.9 returns true if this is a "replace short message" SMS
      • isCphsMwiMessage

        public boolean isCphsMwiMessage()
        Returns true for CPHS MWI toggle message.
        Returns:
        true if this is a CPHS MWI toggle message See CPHS 4.2 section B.4.2
      • isMWIClearMessage

        public boolean isMWIClearMessage()
        returns true if this message is a CPHS voicemail / message waiting indicator (MWI) clear message
      • isMWISetMessage

        public boolean isMWISetMessage()
        returns true if this message is a CPHS voicemail / message waiting indicator (MWI) set message
      • isMwiDontStore

        public boolean isMwiDontStore()
        returns true if this message is a "Message Waiting Indication Group: Discard Message" notification and should not be stored.
      • getUserData

        public byte[] getUserData()
        returns the user data section minus the user data header if one was present.
      • getPdu

        public byte[] getPdu()
        Returns the raw PDU for the message.
        Returns:
        the raw PDU for the message.
      • getStatusOnSim

        @Deprecated
        public int getStatusOnSim()
        Deprecated. Use getStatusOnIcc instead.
        Returns the status of the message on the SIM (read, unread, sent, unsent).
        Returns:
        the status of the message on the SIM. These are: SmsManager.STATUS_ON_SIM_FREE SmsManager.STATUS_ON_SIM_READ SmsManager.STATUS_ON_SIM_UNREAD SmsManager.STATUS_ON_SIM_SEND SmsManager.STATUS_ON_SIM_UNSENT
      • getStatusOnIcc

        public int getStatusOnIcc()
        Returns the status of the message on the ICC (read, unread, sent, unsent).
        Returns:
        the status of the message on the ICC. These are: SmsManager.STATUS_ON_ICC_FREE SmsManager.STATUS_ON_ICC_READ SmsManager.STATUS_ON_ICC_UNREAD SmsManager.STATUS_ON_ICC_SEND SmsManager.STATUS_ON_ICC_UNSENT
      • getIndexOnSim

        @Deprecated
        public int getIndexOnSim()
        Deprecated. Use getIndexOnIcc instead.
        Returns the record index of the message on the SIM (1-based index).
        Returns:
        the record index of the message on the SIM, or -1 if this SmsMessage was not created from a SIM SMS EF record.
      • getIndexOnIcc

        public int getIndexOnIcc()
        Returns the record index of the message on the ICC (1-based index).
        Returns:
        the record index of the message on the ICC, or -1 if this SmsMessage was not created from a ICC SMS EF record.
      • getStatus

        public int getStatus()
        GSM: For an SMS-STATUS-REPORT message, this returns the status field from the status report. This field indicates the status of a previously submitted SMS, if requested. See TS 23.040, 9.2.3.15 TP-Status for a description of values. CDMA: For not interfering with status codes from GSM, the value is shifted to the bits 31-16. The value is composed of an error class (bits 25-24) and a status code (bits 23-16). Possible codes are described in C.S0015-B, v2.0, 4.5.21.
        Returns:
        0 indicates the previously sent message was received. See TS 23.040, 9.9.2.3.15 and C.S0015-B, v2.0, 4.5.21 for a description of other possible values.
      • isStatusReportMessage

        public boolean isStatusReportMessage()
        Return true iff the message is a SMS-STATUS-REPORT message.
      • isReplyPathPresent

        public boolean isReplyPathPresent()
        Returns true iff the TP-Reply-Path bit is set in this message.


Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 198 / 159412781. Delta: 0.04878 с