I am trying to send sms from my android app but getting the error. i am using AsyncTask class and the code which put in doInBackground method it gives an error.
PLEASE HELP ME I HAVE PURCHASED THE SMS SERVICE BUT I AM NOT BEING ABLE TO MAKE CALL OF SERVICE.
SendFeedback class
private class SendfeedbackJob extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String[] params) {
// do above Server call here
try {
// Construct data
String apiKey = "apikey=" + "--MY API KEY--";
String message = "&message=" + "New order by "+ userName+"
and dilivery "+userAddress;
String sender = "&sender=" + "TXTLCL";
String numbers = "&numbers=" + "91 CONTACT NO.";
// Send data
HttpURLConnection conn = (HttpURLConnection) new
URL("https://api.textlocal.in/send/?").openConnection();
String data = apiKey + numbers + message + sender;
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Length",
Integer.toString(data.length()));
conn.getOutputStream().write(data.getBytes("UTF-8"));
final BufferedReader rd = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
final StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
stringBuffer.append(line);
}
rd.close();
//return stringBuffer.toString();
Toast.makeText(getContext(),stringBuffer.toString(),
Toast.LENGTH_LONG).show();
} catch (Exception e) {
System.out.println("Error SMS "+e);
//return "Error "+e;
Toast.makeText(getContext(),"Error
"+e.toString(),Toast.LENGTH_LONG).show();
}
return "some message";
}
@Override
protected void onPostExecute(String message) {
//process message
}
}
Oncreate method
SendfeedbackJob job = new SendfeedbackJob();
job.execute();
I am getting this Error
'E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.agssoftech.shlokenterprise, PID: 12204
java.lang.RuntimeException: An error occurred while executing
doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:325)
at
java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at
java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at
java.util.concurrent.FutureTask.run(FutureTask.java:242)
at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at
java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1133)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.RuntimeException: Cant create handler
inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:208)
at android.os.Handler.<init>(Handler.java:122)
at android.widget.Toast$TN$2.<init>(Toast.java:341)
at android.widget.Toast$TN.<init>(Toast.java:341)
at android.widget.Toast.<init>(Toast.java:108)
at android.widget.Toast.makeText(Toast.java:261)
at com.agssoftech.shlokenterprise.Fragments
.PlaceOrderFragment$SendfeedbackJob.doInBackground
(PlaceOrderFragment.java:224)
at
com.agssoftech.shlokenterprise.Fragments
.PlaceOrderFragment$SendfeedbackJob.doInBackground
(PlaceOrderFragment.java:190)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at
java.util.concurrent.FutureTask.run(FutureTask.java:237)
at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at
java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)