[clos] lire des sms reçus par modem

Fermé
wijdani Messages postés 2 Date d'inscription lundi 23 avril 2012 Statut Membre Dernière intervention 7 août 2012 - 19 mai 2012 à 20:18
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 20 mai 2012 à 10:17
Bonjour
une partie de mon projet consiste à programmer une application en java qui permet de lire les messages reçus par un modem 3G , j'ai essayé le code source exemple qui se trouve avec la library smslib mais cela a généré des erreurs concernant le log4j je n'ai aucune idée sur le fonctionnement ni les méthodes de cette bibliothèque , veuillez m'aider c'est urgent je vous serai reconnaissante
voila le code:

import java.util.ArrayList;
import java.util.List;
import org.smslib.AGateway;
import org.smslib.ICallNotification;
import org.smslib.IGatewayStatusNotification;
import org.smslib.IInboundMessageNotification;
import org.smslib.InboundMessage;
import org.smslib.Library;
import org.smslib.Service;
import org.smslib.AGateway.GatewayStatuses;
import org.smslib.AGateway.Protocols;
import org.smslib.InboundMessage.MessageClasses;
import org.smslib.Message.MessageTypes;
import org.smslib.modem.IPModemGateway;
import org.smslib.modem.ModemGateway.IPProtocols;

public class ReadMessages
{
public void doIt() throws Exception
{
// Define a list which will hold the read messages.
List msgList;

// Create the notification callback method for inbound & status report
// messages.
InboundNotification inboundNotification = new InboundNotification();

// Create the notification callback method for inbound voice calls.
CallNotification callNotification = new CallNotification();

//Create the notification callback method for gateway statuses.
GatewayStatusNotification statusNotification = new GatewayStatusNotification();

try
{
System.out.println("Example: Read messages from a serial gsm modem.");
System.out.println(Library.getLibraryDescription());
System.out.println("Version: " + Library.getLibraryVersion());

// Create the Gateway representing the serial GSM modem.
IPModemGateway gateway = new IPModemGateway("modem.com1", "127.0.0.1", 2000, "Nokia", "");
gateway.setIpProtocol(IPProtocols.BINARY);

// Set the modem protocol to PDU (alternative is TEXT). PDU is the default, anyway...
gateway.setProtocol(Protocols.PDU);

// Do we want the Gateway to be used for Inbound messages?
gateway.setInbound(true);

// Do we want the Gateway to be used for Outbound messages?
gateway.setOutbound(true);

// Let SMSLib know which is the SIM PIN.
gateway.setSimPin("0000");

// Set up the notification methods.
Service.getInstance().setInboundMessageNotification(inboundNotification);
Service.getInstance().setCallNotification(callNotification);
Service.getInstance().setGatewayStatusNotification(statusNotification);

// Add the Gateway to the Service object.
Service.getInstance().addGateway(gateway);

// Similarly, you may define as many Gateway objects, representing
// various GSM modems, add them in the Service object and control all of them.

// Start! (i.e. connect to all defined Gateways)
Service.getInstance().startService();

// Printout some general information about the modem.
System.out.println();
System.out.println("Modem Information:");
System.out.println(" Manufacturer: " + gateway.getManufacturer());
System.out.println(" Model: " + gateway.getModel());
System.out.println(" Serial No: " + gateway.getSerialNo());
System.out.println(" SIM IMSI: " + gateway.getImsi());
System.out.println(" Signal Level: " + gateway.getSignalLevel() + " dBm");
System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%");
System.out.println();

// Read Messages. The reading is done via the Service object and
// affects all Gateway objects defined. This can also be more directed to a specific
// Gateway - look the JavaDocs for information on the Service method calls.
msgList = new ArrayList();
Service.getInstance().readMessages(msgList, MessageClasses.ALL);
for (InboundMessage msg : msgList)
System.out.println(msg);

// Sleep now. Emulate real world situation and give a chance to the notifications
// methods to be called in the event of message or voice call reception.

System.out.println("Now Sleeping - Hit <enter> to stop service.");
System.in.read(); System.in.read();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
Service.getInstance().stopService();
}
}

public class InboundNotification implements IInboundMessageNotification
{
public void process(AGateway gateway, MessageTypes msgType, InboundMessage msg)
{
if (msgType == MessageTypes.INBOUND) System.out.println(">>> New Inbound message detected from Gateway: " + gateway.getGatewayId());
else if (msgType == MessageTypes.STATUSREPORT) System.out.println(">>> New Inbound Status Report message detected from Gateway: " + gateway.getGatewayId());
System.out.println(msg);
try
{
// Uncomment following line if you wish to delete the message upon arrival.
// ReadMessages.this.srv.deleteMessage(msg);
}
catch (Exception e)
{
System.out.println("Oops!!! Something gone bad...");
e.printStackTrace();
}
}
}

public class CallNotification implements ICallNotification
{
public void process(AGateway gateway, String callerId)
{
System.out.println(">>> New call detected from Gateway: " + gateway.getGatewayId() + " : " + callerId);
}
}

public class GatewayStatusNotification implements IGatewayStatusNotification
{
public void process(AGateway gateway, GatewayStatuses oldStatus, GatewayStatuses newStatus)
{
System.out.println(">>> Gateway Status change for " + gateway.getGatewayId() + ", OLD: " + oldStatus + " -> NEW: " + newStatus);
}
}

public static void main(String args[])
{
ReadMessages app = new ReadMessages();
try
{
app.doIt();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}



maryam_mimo

1 réponse

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
20 mai 2012 à 10:17
Salut,

L'urgence est pour TOI et en aucun cas pour nous !

Sujet clos!


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous