ReadMessagesAsync_Old.java
上传用户:shunchung
上传日期:2013-04-07
资源大小:438k
文件大小:4k
源码类别:

手机短信编程

开发平台:

Java

  1. // jSMSEngine API.
  2. // An open-source API package for sending and receiving SMS via a GSM device.
  3. // Copyright (C) 2002-2006, Thanasis Delenikas, Athens/GREECE
  4. // Web Site: http://www.jsmsengine.org
  5. //
  6. // jSMSEngine is a package which can be used in order to add SMS processing
  7. // capabilities in an application. jSMSEngine is written in Java. It allows you
  8. // to communicate with a compatible mobile phone or GSM Modem, and
  9. // send / receive SMS messages.
  10. //
  11. // jSMSEngine is distributed under the LGPL license.
  12. //
  13. // This library is free software; you can redistribute it and/or
  14. // modify it under the terms of the GNU Lesser General Public
  15. // License as published by the Free Software Foundation; either
  16. // version 2.1 of the License, or (at your option) any later version.
  17. // This library is distributed in the hope that it will be useful,
  18. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20. // Lesser General Public License for more details.
  21. // You should have received a copy of the GNU Lesser General Public
  22. // License along with this library; if not, write to the Free Software
  23. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  24. //
  25. //
  26. // ReadMessagesAsync.java - Sample application.
  27. //
  28. // This application shows you the basic procedure needed for reading
  29. // SMS messages from your GSM device.
  30. // This example is about ASYNCHRONOUS reading, utilizing a virtual message handler.
  31. //
  32. // Include the necessary package.
  33. import org.jsmsengine.*;
  34. import java.util.*;
  35. // We are overriding class CService in order to define our message handler.
  36. class ReadMessagesAsync_Old extends CService
  37. {
  38. public ReadMessagesAsync_Old(String port, int baud, String manufacturer, String model) { super(port, baud, manufacturer, model); }
  39. // This is the new message handler.
  40. // It will be called automatically by the core engine once a message is received.
  41. public boolean received(CIncomingMessage message)
  42. {
  43. // Display the message received...
  44. System.out.println("*** Msg: " + message.getText());
  45. // and send a "thank you!" reply!
  46. try
  47. {
  48. sendMessage(new COutgoingMessage(message.getOriginator(), "Thank you!"));
  49. }
  50. catch (Exception e)
  51. {
  52. System.out.println("Could not send reply message!");
  53. e.printStackTrace();
  54. }
  55. // Return false to leave the message in memory - otherwise return true to delete it.
  56. return false;
  57. }
  58. public static void main(String[] args)
  59. {
  60. int status;
  61. LinkedList msgList = new LinkedList();
  62. // Create jSMSEngine service.
  63. ReadMessagesAsync_Old srv = new ReadMessagesAsync_Old("COM1", 9600, "Nokia", "6310i");
  64. System.out.println();
  65. System.out.println("ReadMessagesAsync(): sample application.");
  66. System.out.println("  Using " + srv._name + " " + srv._version);
  67. System.out.println();
  68. try
  69. {
  70. srv.setSimPin("0000");
  71. srv.connect();
  72. System.out.println("Mobile Device Information: ");
  73. System.out.println(" Manufacturer  : " + srv.getDeviceInfo().getManufacturer());
  74. System.out.println(" Model         : " + srv.getDeviceInfo().getModel());
  75. System.out.println(" Serial No     : " + srv.getDeviceInfo().getSerialNo());
  76. System.out.println(" IMSI          : " + srv.getDeviceInfo().getImsi());
  77. System.out.println(" S/W Version   : " + srv.getDeviceInfo().getSwVersion());
  78. System.out.println(" Battery Level : " + srv.getDeviceInfo().getBatteryLevel() + "%");
  79. System.out.println(" Signal Level  :  " + srv.getDeviceInfo().getSignalLevel() + "%");
  80. System.out.println();
  81. System.out.println("I will wait for a period of 60 secs for incoming messages...");
  82. // Switch to asynchronous mode.
  83. srv.setReceiveMode(CService.RECEIVE_MODE_ASYNC);
  84. // Go to sleep - simulate the asynchronous concept...
  85. try { Thread.sleep(60000); } catch (Exception e) {}
  86. System.out.println("Timeout period expired, exiting...");
  87. srv.disconnect();
  88. }
  89. catch (Exception e)
  90. {
  91. e.printStackTrace();
  92. }
  93. System.exit(0);
  94. }
  95. }