⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsmsgout.java

📁 试用JAVA通过COMM口发送短信的代码.
💻 JAVA
字号:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   SMSMsgOut.java

package org.cross.sms.msg;

import java.io.PrintStream;
import java.util.Date;

// Referenced classes of package org.cross.sms.msg:
//            SMSMsg, TP_Address_SMSC, TP_FirstOctet, TP_Address_Da_Oa, 
//            TP_Dsc_CharSet, TP_UDH, TP_UDH_EI_Sar, _CharacterUtil, 
//            SmsUtil

public class SMSMsgOut extends SMSMsg
{

    public SMSMsgOut()
    {
        super(2, null, null, null, null, -1);
        m_withUserHeader = false;
        setSendDate(null);
        setDate(new Date());
    }

    public SMSMsgOut(String recipient, String text)
    {
        super(2, new Date(), null, recipient, text, -1);
        m_withUserHeader = false;
        if(_CharacterUtil.isContainsChineseChar(text))
            setMessageEncoding("gsm_unicode");
        setSendDate(null);
        setDate(new Date());
    }

    public void setSendDate(Date date)
    {
        dispatchDate = date;
    }

    public Date getSendDate()
    {
        return dispatchDate;
    }

    public String getPdu()
    {
        String pdu = getSMSHeader();
        String str2;
        if(m_withUserHeader)
        {
            str2 = getDataHeader();
            str2 = str2 + getUserDataPdu();
        } else
        {
            str2 = getUserDataPdu();
        }
        String str1 = _CharacterUtil.getPduHexLength(str2, messageEncoding);
        pdu = pdu + str1 + str2;
        return pdu.toUpperCase();
    }

    public String getSMSHeader()
    {
        String pdu = "";
        TP_Address_SMSC smsc = new TP_Address_SMSC();
        smsc.setPhone(SmsUtil.SMSC_CODE);
        pdu = pdu + smsc.getPdu();
        TP_FirstOctet first = new TP_FirstOctet();
        first.set(m_withUserHeader, false);
        pdu = pdu + first.getPdu();
        pdu = pdu + "00";
        TP_Address_Da_Oa da = new TP_Address_Da_Oa();
        da.setPhone(recipient);
        pdu = pdu + da.getPdu();
        pdu = pdu + "00";
        pdu = pdu + getTCSPdu();
        pdu = pdu + "FF";
        return pdu;
    }

    public String getTCSPdu()
    {
        TP_Dsc_CharSet encoding = new TP_Dsc_CharSet();
        encoding.setMessageEncoding(messageEncoding);
        return encoding.getPdu();
    }

    public String getDataHeader()
    {
        TP_UDH h = new TP_UDH();
        TP_UDH_EI_Sar sar = new TP_UDH_EI_Sar();
        sar.max = max;
        sar.no = no;
        sar.refno = indication;
        h.addEI(sar);
        return h.getPdu();
    }

    public String getUserDataPdu()
    {
        String tmp = _CharacterUtil.stringToHexString(text, messageEncoding);
        if(m_withUserHeader && messageEncoding.equals("gsm_default"))
            tmp = _CharacterUtil.offsetHexString(tmp, 1);
        return tmp;
    }

    public static void main(String args[])
    {
        SMSMsgOut m = new SMSMsgOut("", "liuxk");
        System.out.println(m.getMessageEncoding());
    }

    private Date dispatchDate;
    public static int msgIndicator = 1;
    boolean m_withUserHeader;
    int max;
    int no;
    int indication;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -