-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSMSClient.java
More file actions
129 lines (105 loc) · 3.11 KB
/
SMSClient.java
File metadata and controls
129 lines (105 loc) · 3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.io.*;
public class SMSClient
{
final int SYNCHRONOUS=0;
int m_iMode=-1;
int m_iNo_Of_Msgs;
int m_iStatus=-1;
long m_lMessageNo=-1;
String m_sPort_Id;
String m_sSecured_Msg;
String m_sPhoneNum;
Sender_Receiver aSender = new Sender_Receiver();
public boolean config_port(String l_sPort_Id)
{
this.m_sPort_Id=l_sPort_Id;
int l_iPass=0;
try
{
aSender.openPort(m_sPort_Id);
l_iPass=1;
}
catch(Exception e)
{
System.out.println("enter valid port number");
return false;
}
boolean l_bReturn_Status=aSender.setMode("ATE0");
if(l_bReturn_Status==false)
{
System.out.println("ATE0 did not fire");
return l_bReturn_Status;
}
l_bReturn_Status=aSender.setMode("AT");
if(l_bReturn_Status==false)
{
System.out.println("AT did not fire");
return l_bReturn_Status;
}
l_bReturn_Status=aSender.setMode("AT+CMGF=0");
if(l_bReturn_Status==false)
{
System.out.println("AT+CMGF=0 did not fire");
return l_bReturn_Status;
}
return l_bReturn_Status;
}
public boolean send(String l_sPhoneNum,String l_sSecured_Msg)
{
this.m_sSecured_Msg=l_sSecured_Msg;
this.m_sPhoneNum=l_sPhoneNum;
//String l_sTemp=l_oConvert.Encode_Decode(m_sTextMsg);
boolean l_bStatus=aSender.send (m_sPhoneNum,l_sSecured_Msg);
// System.out.println("sending ... ");
//in SYNCHRONOUS mode wait for return : 0 for OK,
//-2 for timeout, -1 for other errors
if(aSender.m_iStatus == 0) m_lMessageNo=aSender.m_lMessageNo ;
return l_bStatus;
}
public return_format[] receive()
{
String l_sNum=aSender.receive_length("AT+CPMS=\"SM\"");
//System.out.println("at+cpms=SM :"+l_sNum+"\nlength is :"+l_sNum.length());
int l_iOffset=l_sNum.indexOf("CPMS:");
System.out.println("index: "+l_iOffset);
l_iOffset+=6;
String l_sTemp=l_sNum.substring(l_iOffset);
String l_sNumbers[]=l_sTemp.split(",");
//System.out.println(l_sTemp+"\n"+l_sNumbers[0]);
m_iNo_Of_Msgs=Integer.parseInt(l_sNumbers[0]);
return_format[] ret_objs=new return_format[m_iNo_Of_Msgs];
for(int count=1;count<=m_iNo_Of_Msgs;count++)
{
String command="AT+CMGR="+Integer.toString(count);
System.out.println(command);
ret_objs[count-1] =aSender.receive(command);
//System.out.println("message :"+message);
//System.out.println("smsclient length: "+message.length());
//String temp=l_oConvert.Encode_Decode(date_msg[1]);
//System.out.println("decoded: "+temp);
command="AT+CMGD="+Integer.toString(count);
boolean del_stat=aSender.setMode(command);
if(del_stat==false)
{
System.out.println("CMGD did not fire");
}
}
return ret_objs;
}
public boolean existence_of_msgs()
{
String l_sNum=aSender.receive_length("AT+CPMS=\"SM\"");
//System.out.println("at+cpms=SM :"+l_sNum+"\nlength is :"+l_sNum.length());
int l_iOffset=l_sNum.indexOf("CPMS:");
System.out.println("index: "+l_iOffset);
l_iOffset+=6;
String l_sTemp=l_sNum.substring(l_iOffset);
String l_sNumbers[]=l_sTemp.split(",");
//System.out.println(l_sTemp+"\n"+l_sNumbers[0]);
m_iNo_Of_Msgs=Integer.parseInt(l_sNumbers[0]);
if(m_iNo_Of_Msgs==0)
return false;
else
return true;
}
}