我在asyncTack类在后台运行时遇到问题。完全运行但是AsyncTask运行我的应用程序自动恢复时出现问题。 这是代码
BackTask.java
public class BackTask extends AsyncTask<String, Void,String> {
Context context;
public BackTask(Context context) {
this.context = context;
}
@Override
protected String doInBackground(String... strings) {
String method = strings[0];
if (method.equals("register")) {
String lang = strings[1];
String lat = strings[2];
Log.i("Check:", lang + " " + lat);
try {
URL url = new URL("https://wishes4u.000webhostapp.com/API/signup.php");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, "UTF-8");
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
String data = URLEncoder.encode("lang", "UTF-8") + "=" + URLEncoder.encode(lang, "UTF-8") + "&"
+ URLEncoder.encode("lat", "UTF-8") + "=" + URLEncoder.encode(lat, "UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
inputStream.close();
return "Registration Success!";
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s.equals("Registration Success!")){
Toast.makeText(context,"Registration Success!",Toast.LENGTH_SHORT).show();
}
}
}
Main_Activity.java
public void registerUser(View view) {
regEmail = email.getText().toString();
regPassword = password.getText().toString();
String method = "register";
BackTask backTask = new BackTask(this);
backTask.execute(method, regEmail, regPassword);
finish();
}
我在android 4.4.2(kitkat)上运行应用程序。
我不知道问题在哪里....