Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何用java语言控制短信设备实现短信收发?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

JINDI JAVA 版二次开发包调用说明文档:

 

说明:本控件只适用于windows平台,如果您需要Linux平台控件请与我公司销售部联系。

 

一、JINDI  JAVA控件安装

1、  安装JINDI JAVA控件前先确认您是否安装了JDK,如果您还没有安装JDK,建议您到http://www.sun.com 下载并安装JDK1.4

2、将我们提供给您的sendsms.jar 拷贝到 <JDK安装目录\jre\lib\ext>目录下

3、将我们提供给您的sendsms.exeJinDiSMSControl.OCX MSCOMM32.OCX setings.ini拷贝到windows系统得system32 目录下,并更改setings.ini文件,具体如下:

       +-----------------------------------------------------------------+

|              settings.ini 文件                   |

  +-----------------------------------------------------------------+

  | 1 (在第一行输入您使用COM口)       |

  | +8613800100500 (在第一行输入短信中心号码)   |

  |  D:\JDK1.4\jre (在第三行输入JDK路径)         |

  +-----------------------------------------------------------------+

 

二、JinDi Java 控件的调用方法及例程

1、  发送短信请调用Sms class sendmsg方法

static boolean sendmsg(String msg,String phone)

msg 您要发送的短信内容

phone 接收者号码

例:

import cn.com.chundi.sendsms.*;

 

public class Sendmsg{

       public static void main(String args[]){

              String toPhone  = "13331012788";

              Sms sms1 = new Sms();

              if (args.length>=1)

              {

                     toPhone = args[0];

              }           

              boolean sendsucc = sms1.sendmsg("你好,测试!",toPhone);

              if(sendsucc){

                     System.out.println("send successful..............");

              }else{

                     System.out.println("send failure........");

              }

       }

}

 

 

2、  读短信请调用Sms class readmsg 方法

Read readmsg(String index)

SIM卡中的 index 位置的短信

Index   SIM 卡中短信的位置(从1 开始,一般SIM中的容量是1525条)

返回read 类对象(关于Read对象的说明后附)

 

ArrayList readmsg(String beginNo,String endNo)

读取SIM卡中 beginNo 位置至 endNo位置的短信

beginNo   读取SIM卡中短信的起始位置

endNo     读取SIM卡中短信的终止位置

返回 ArrayList 类对象(将其转换为Read对象使用)

例:

import cn.com.chundi.sendsms.*;

import java.util.*;

 

public class Readmsg{

  public static void main(String args[]){

    String index = null;

    String begin = null;

    String end = null;

    Sms sms1 = new Sms();

    if ( args.length > 1 ) {

      begin = args[0];

      end = args[1];

      System.out.println("正在读取SIM中第" + begin + "条至第" + end + "条短信...............");

      ArrayList listmsg = sms1.readmsg(begin,end);

      if (listmsg == null){

         System.out.println(" 读取操作失败! ");

      }

      else{

        int total = listmsg.size();        

        for (int i=0;i<total ; i++){

        Read msg = (Read) listmsg.get(i);

        if ((msg != null) && (msg.isempty()==false)){

        System.out.println("SIM中第" + msg.getno() + "条短信如下:");

        System.out.println("来自: " + msg.getoa());

        System.out.println("时间: " + msg.gettimestamp());

         System.out.println("内容: " + msg.getmsg());

       }

       else{

         System.out.println("SIM中第" + msg.getno() + "位置无短信");

       }  

     }

   }

 }

 else{

   if ( args.length >0){

     index = args[0];

     System.out.println("正在读取SIM中第" + index + "条短信.....................................");

     Read msg = sms1.readmsg(index);

     if ((msg != null) && (msg.isempty()==false)){

       System.out.println("来自: " + msg.getoa());

       System.out.println("时间: " + msg.gettimestamp());

       System.out.println("内容: " + msg.getmsg());

     }

     else{

       System.out.println("SIM中第" + index + "位置无短信");

     }                   

   }

 }      

}

}

 

 

3、  删除短信请调用Sms class delete 方法

Delete deletemsg(String index)     

删除SIM卡中的 index 位置的短信

Index   SIM 卡中短信的位置(从1 开始,一般SIM中的容量是1525条)

返回delete 类对象(关于Delete对象的说明后附)

 

ArrayList deletemsg(String beginNo,String endNo)

删除SIM卡中 beginNo 位置至 endNo位置的短信

beginNo    删除SIM卡中短信的起始位置

endNo     删除SIM卡中短信的终止位置

返回 ArrayList 类对象(将其转换为Delete对象使用)

例:

import cn.com.chundi.sendsms.*;

import java.util.*;

 

public class Deletemsg{

public static void main(String args[]){

String index = null;

String begin = null;

String end = null;

Sms sms1 = new Sms();

if ( args.length > 1 ) {

begin = args[0];

end = args[1];

System.out.println("正在删除SIM中第" + begin + "条至第" + end + "条短信.....................");

ArrayList listmsg = sms1.deletemsg(begin,end);

if (listmsg == null){

System.out.println(" 删除操作失败! ");

}

else{

int total = listmsg.size();        

for (int i=0;i<total ; i++){

Delete msg = (Delete) listmsg.get(i);

if ((msg != null) && (msg.isdelete()==true)){

System.out.println("SIM中第" + msg.getno() + "条短信成功删除");

}

else{

System.out.println("SIM中第" + msg.getno() + "条短信删除失败");

}  

}

}

}

else{

if ( args.length >0){

index = args[0];

System.out.println("正在删除SIM中第" + index + "条短信........................");

Delete del = sms1.deletemsg(index);

if ((del != null) && (del.isdelete()==true)){                                

System.out.println("SIM中第" + index + "条短信成功删除");

}

else{

System.out.println("SIM中第" + index + "条短信删除失败");

}                                

}

}           

}

}

 

 

三、附(Read类和 Delete 类):

1Read 类:

       int getno()

       获取短信在SIM卡中的位置

       boolean isempty()

       判定该短信是否为空,返回truegetoa(),gettimestamp(),getmsg()将返回null对象,说明SIMgetno()位置没有短信。

String getoa()

获取短信对象

       String gettimestamp()

       获取短信的接收时间

       String getmsg()

       获取短信内容

      

Read类的实现

package cn.com.chundi.sendsms;

 

public class  Read {

       public Read(int no, boolean empty){

              this.no = no;

              this.empty = empty;

       }

       public Read(int no, String oa,String timestamp, String msg)       {

              this.no = no;

              this.oa = oa;

              this.timestamp = timestamp;

              this.msg = msg;

              empty = false;

       }           

 

       public String getoa() { return oa;}

       public String gettimestamp() { return timestamp; }

       public String getmsg() { return msg; }

       public int getno() { return no; }

       public boolean isempty() { return empty; }

 

       private boolean empty=true;

       private String oa =null;

       private String timestamp = null;

       private String msg = null;

       private int no = 0;

}

 

2、  Delete

int getno()

       获取短信在SIM卡中的位置

       boolean isdelete()

       判定该短信是否删除,返回true时成功删除

 

Delete 类的实现:

       package cn.com.chundi.sendsms;

 

public class Delete{

       public Delete(int no, boolean del)   {

                     this.no = no;

                     this.del = del;

       }           

 

       public int getno() { return no; }

       public boolean isdelete() { return del; }       

 

       private int no = 0;

       private boolean del = false;

}

金笛短信,沟通无限!<a href="http://www.sendsms.cn">http://www.sendsms.cn</a>




相关文章

相关软件