ReadMessagesAsync.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 packages.
  33. import org.jsmsengine.*;
  34. import java.util.*;
  35. // This is the new proposed method of using the ASYNC service.
  36. class ReadMessagesAsync
  37. {
  38. CService srv;
  39. CMessageListener smsMessageListener;
  40. class CMessageListener implements CSmsMessageListener
  41. {
  42. public boolean received(CService service, CIncomingMessage message)
  43. {
  44. // Display the message received...
  45. System.out.println("*** Msg: " + message.getText());
  46. // and send a "thank you!" reply!
  47. try
  48. {
  49. //service.sendMessage(new COutgoingMessage(message.getOriginator(), "Thank you!"));
  50. }
  51. catch (Exception e)
  52. {
  53. System.out.println("Could not send reply message!");
  54. e.printStackTrace();
  55. }
  56. // Return false to leave the message in memory - otherwise return true to delete it.
  57. return false;
  58. }
  59. }
  60. public ReadMessagesAsync()
  61. {
  62. }
  63. public void doIt()
  64. {
  65. srv = new CService("COM1", 9600, "Nokia", "6310i");
  66. smsMessageListener = new CMessageListener();
  67. System.out.println();
  68. System.out.println("ReadMessagesAsync(): sample application.");
  69. System.out.println("  Using " + srv._name + " " + srv._version);
  70. System.out.println();
  71. try
  72. {
  73. srv.setSimPin("0000");
  74. srv.connect();
  75. System.out.println("Mobile Device Information: ");
  76. System.out.println(" Manufacturer  : " + srv.getDeviceInfo().getManufacturer());
  77. System.out.println(" Model         : " + srv.getDeviceInfo().getModel());
  78. System.out.println(" Serial No     : " + srv.getDeviceInfo().getSerialNo());
  79. System.out.println(" IMSI          : " + srv.getDeviceInfo().getImsi());
  80. System.out.println(" S/W Version   : " + srv.getDeviceInfo().getSwVersion());
  81. System.out.println(" Battery Level : " + srv.getDeviceInfo().getBatteryLevel() + "%");
  82. System.out.println(" Signal Level  :  " + srv.getDeviceInfo().getSignalLevel() + "%");
  83. System.out.println();
  84. System.out.println("I will wait for a period of 60 secs for incoming messages...");
  85. // Switch to asynchronous mode.
  86. srv.setReceiveMode(CService.RECEIVE_MODE_ASYNC);
  87. srv.setMessageHandler(smsMessageListener);
  88. // Go to sleep - simulate the asynchronous concept...
  89. try { Thread.sleep(60000); } catch (Exception e) {}
  90. System.out.println("Timeout period expired, exiting...");
  91. srv.disconnect();
  92. }
  93. catch (Exception e)
  94. {
  95. e.printStackTrace();
  96. }
  97. }
  98. public static void main(String[] args)
  99. {
  100. ReadMessagesAsync example = new ReadMessagesAsync();
  101. example.doIt();
  102. }
  103. }