?? testsdk_v16.java
字號:
/**
* <p>Title: SMS100二次開發接口 </p>
* <p>Description: 專為短信貓設備SMS100提供的二次開發接口</p>
* <p>Copyright: Copyright(c) 2003</p>
* <p>Company: 北京陽光智博科技有限公司</p>
* @SuperMan
* @version 1.0
*/
package Test;
import java.lang.*;
import java.io.*;
import java.util.*;
import BestMail.smssend;
public class TestSDK_V16 {
public TestSDK_V16() {
}
/**
* 測試程序
* 1) 連接
* 2)發送測試
* 3)從SIM卡中讀取數據
* 4)斷開連接
* @param args
*/
public static void main(String[] argv)
{
smssend smssend1 = new smssend();
//測試信息
String text1="Hello! 歡迎使用GSMModem開發包,此包封裝了短信收發的所有服務!"; //短信內容
String sendnum="13910597586"; //接收號碼
String device = null;//"COM2";
String baud = null;//"9600";
String sn = "ITIU-NWCJ-VCJD-WJDU";
if(argv!=null && argv.length ==2 ){
sn = argv[0];
sendnum = argv[1];
}else{
System.out.println("請輸入注冊碼和接收號碼!");
return ;
}
byte[] sendtest=smssend1.getUNIByteArray(text1); //轉化為UNICOCE
try
{
//0) 獲取注冊信息標識碼
System.out.println("GSMModemGetSnInfo: Get License Information ... ...");
String sninfo=smssend1.GSMModemGetSnInfoNew(device,baud);
if(sninfo==null){
System.out.println("GSMModemGetSnInfo: connect failed! Error=" +
smssend1.GSMModemGetErrorMsg());
}
System.out.println("GSMModemGetSnInfo=" + sninfo);
//1) 連接設備
System.out.println("GSMModemInit:connecting ... ...");
if (smssend1.GSMModemInitNew(device, baud, null, "GSM", false,sn)==false) {
System.out.println("GSMModemInit: connect failed! Error=" +
smssend1.GSMModemGetErrorMsg());
return;
}
System.out.println("當前通訊端口 = " + smssend1.GSMModemGetDevice());
System.out.println("當前通訊波特率 = " + smssend1.GSMModemGetBaudrate());
//發送多條和接收多次短信舉例
int Count=1; //發送次數
while (Count > 0) {
//2)判斷是否連接設備,若沒有連接的話,則重新連接
if (!smssend1.GSMModemIsConn()) {
if (!smssend1.GSMModemInitNew(device, baud, null, null, false, sn)) {
System.out.println("GSMModemInit: connect failed! Error=" +
smssend1.GSMModemGetErrorMsg());
continue;
}
}
Count--;
//延遲半秒中
//每發送一條短信延遲500ms
try { java.lang.Thread.sleep(500);}
catch (Exception t) {;}
//3)發送短信
System.out.println("GSMModemSMSsend:Send sms through modem, .........");
if (smssend1.GSMModemSMSsend(null, 8, sendtest, sendnum, false))
System.out.println("GSMModemSMSsend: Success!");
else
System.out.println("GSMModemSMSsend: failed! ERROR=" + smssend1.GSMModemGetErrorMsg());
//4) 取信并刪除SIM卡中的所有短信
System.out.println("GSMModemSMSReadAll:Recieve ......................");
String[] allmsg = smssend1.GSMModemSMSReadAll(0);
//5) 讀出的每一條信息由三部分組成:電話號碼#編碼#文本內容
for (int kk = 0; allmsg != null && kk < allmsg.length; kk++) {
if (allmsg[kk] == null)
continue;
String tmp[] = allmsg[kk].split("#");
if (tmp == null || tmp.length != 3)
continue;
//5.1)獲取數據
String recvnum = tmp[0]; //發送號碼
String codeflg = tmp[1];
String recvtext = tmp[2]; //短信內容
if (recvtext != null && codeflg.equalsIgnoreCase("8"))
recvtext = smssend1.HexToBuf(recvtext);
//5.2) 進行其他的處理
System.out.println("recieve: telephone=" + recvnum + ",Content=" + recvtext);
}
if (allmsg == null) {
System.out.println("GSMModemSMSstore: 信息提示 = " + smssend1.GSMModemGetErrorMsg());
}
}//end while
//6) 斷開連接
smssend1.GSMModemRelease();
System.out.println("-------------test over!!!---------------------");
}catch(Exception e){
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -