/* Copyright (c) 2011, SaferMobile/MobileActive - https://safermobile.org */ /* See LICENSE for licensing information */ package org.safermobile.clear.micro.sms; import java.io.IOException; import java.io.InterruptedIOException; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; import javax.microedition.io.Connector; import javax.wireless.messaging.Message; import javax.wireless.messaging.MessageConnection; import javax.wireless.messaging.MessageListener; import javax.wireless.messaging.TextMessage; import org.safermobile.micro.utils.Logger; public class SMSManager { private MessageConnection connSrv; //private static Hashtable _instances; private final static String PROTOCOL = "sms://"; /** * Creates a SMS Server listening on * the specified port. * * @param port server port. */ public SMSManager() { } public static void sendSMSAlert (String phoneNumber, String message) throws InterruptedIOException, IOException { String url = PROTOCOL + phoneNumber; MessageConnection connection = (MessageConnection) Connector.open(url); TextMessage msg = (TextMessage) connection.newMessage( MessageConnection.TEXT_MESSAGE); msg.setPayloadText(message); connection.send(msg); connection.close(); } /** * Starts the server. * * @throws IOException - Any connection related error. */ public void start(int port) throws IOException { if (connSrv != null) stop(); connSrv = (MessageConnection) Connector.open(PROTOCOL + ':' + port); } /** * Adds a listener for new messages. * * @param listener target listener. * @throws IOException */ public void setListener(MessageListener listener) throws IOException { connSrv.setMessageListener(listener); } public void stop () throws IOException { if (connSrv != null) { connSrv.setMessageListener(null); connSrv.close(); } } }