Which version of lib u r using? On 2/16/11, Dr G suresh reddy <[email protected]> wrote: > Hello Friends, > > Here i am sending my program, > > I am using the program to process each message. > But i am facing 2 problem, When ever new message comes. All Messages > are coming in a bunch. i.e if 10 messages come. 10 times all messages > are repeating. > > Another problem is how to delete message. Some one told use > Service.getInstance().deleteMessage(InboundMessage msg);.. But When i > am using that it is giving erros. Please let me know is there any > solution.. > > > Thanks in Advance. > > suresh > > > package com.mhealth.example; > > import org.smslib.*; > import org.smslib.crypto.AESKey; > import org.smslib.modem.SerialModemGateway; > > import javax.crypto.spec.SecretKeySpec; > import java.util.ArrayList; > import java.util.List; > > public class RecieveMessage { > > public void doIt() throws Exception > { > // Define a list which will hold the read messages. > List<InboundMessage> 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(); > OrphanedMessageNotification orphanedMessageNotification = new > OrphanedMessageNotification(); > 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. > SerialModemGateway gateway = new > SerialModemGateway("modem.com1", > "COM6", 9600, "Visiontek", "81GC"); > // Set the modem protocol to PDU (alternative is TEXT). > PDU is the > default, anyway... > gateway.setProtocol(AGateway.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); > > Service.getInstance().setOrphanedMessageNotification(orphanedMessageNotification); > // 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(); > > // In case you work with encrypted messages, its a good > time to > declare your keys. > // Create a new AES Key with a known key value. > // Register it in KeyManager in order to keep it > active. SMSLib > will then automatically > // encrypt / decrypt all messages send to / received > from this number. > > //Service.getInstance().getKeyManager().registerKey("+306948494037", > new AESKey(new SecretKeySpec("0011223344556677".getBytes(), "AES"))); > // 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<InboundMessage>(); > > Service.getInstance().readMessages(msgList, > InboundMessage.MessageClasses.ALL); > //msgList.remove((msgList.size())-1); > > 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, Message.MessageTypes > msgType, > InboundMessage msg) > { > if (msgType == Message.MessageTypes.INBOUND) > System.out.println(">>> New Inbound message detected from Gateway: " + > gateway.getGatewayId()); > else if (msgType == Message.MessageTypes.STATUSREPORT) > System.out.println(">>> New Inbound Status Report message detected > from Gateway: " + gateway.getGatewayId()); > // System.out.println(msg); > System.out.println(msg.getText()); > System.out.println(msg.getOriginator()); > > > } > } > > 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, AGateway.GatewayStatuses > oldStatus, AGateway.GatewayStatuses newStatus) > { > System.out.println(">>> Gateway Status change for " + > gateway.getGatewayId() + ", OLD: " + oldStatus + " -> NEW: " + > newStatus); > } > } > > public class OrphanedMessageNotification implements > IOrphanedMessageNotification > { > public boolean process(AGateway gateway, InboundMessage msg) > { > System.out.println(">>> Orphaned message part detected > from " + > gateway.getGatewayId()); > System.out.println(msg); > // Since we are just testing, return FALSE and keep the > orphaned > message part. > return false; > } > } > > public static void main(String args[]) > { > RecieveMessage app = new RecieveMessage(); > try > { > app.doIt(); > } > catch (Exception e) > { > e.printStackTrace(); > } > } > } > > -- > You received this message because you are subscribed to the Google Groups > "SMSLib Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/smslib?hl=en. > >
-- Sent from my mobile device Thanks & Regards, Sakthivel Thangasamy, +91 - 9715390216 Excellence is a drive from inside, not outside. -- You received this message because you are subscribed to the Google Groups "SMSLib Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/smslib?hl=en.
