Ich habe ein Problem, ich habe eine Anwendung auf einem Android-Gerät und eine Website, auf der die POST-Überprüfung beim Klicken auf die Schaltfläche verarbeitet wird. Wenn ich also eine POST-Anfrage an diese Site sende, mit den richtigen Daten, kann ich sie nicht klickbar machen, indem ich diese POST-Überprüfung auf der Serverseite umgehe. Was muss ich mit meiner App oder dem Serverseitigen Code tun?
Hier ist mein Code, wo ich den POST sende:
/****** SEND POST REQUEST ******/
private void sendPostRequest_cabinet(String clientID)
{
class SendPostReqAsyncTask extends AsyncTask
{
@Override
protected String doInBackground(String... params)
{
// Daten in Array einfügen
String paramClientID = params[0];
HttpClient httpClient = new DefaultHttpClient();
//httpPost = new HttpPost(post_url + /*Sprache aus Dropdown + */ "/de/login/");
if (LANGUAGE != null)
{
if (LANGUAGE.equals("Englisch"))
{
httpPost = new HttpPost(link.getEng());
Toast.makeText(getApplicationContext(), (CharSequence) httpPost, Toast.LENGTH_LONG).show();
}
else if (LANGUAGE.equals("Russisch"))
{
httpPost = new HttpPost(link.getRussian());
}
else if (LANGUAGE.equals("Holländisch(Deutsch)"))
{
httpPost = new HttpPost(link.getDeutch());
}
else if (LANGUAGE.equals("Französisch"))
{
httpPost = new HttpPost(link.getFrance());
}
else if (LANGUAGE.equals("Italienisch"))
{
httpPost = new HttpPost(link.getItalian());
}
else if (LANGUAGE.equals("Spanisch"))
{
httpPost = new HttpPost(link.getSpanish());
}
}
// Parameter mit Werten senden
BasicNameValuePair email1BasicNameValuePair = new BasicNameValuePair("client_id", paramClientID);
// Parameter in Array einfügen
List nameValuePairList = new ArrayList();
nameValuePairList.add(email1BasicNameValuePair);
try
{
UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(nameValuePairList);
httpPost.setEntity(urlEncodedFormEntity);
try
{
HttpResponse httpResponse = httpClient.execute(httpPost);
InputStream inputStream = httpResponse.getEntity().getContent();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader buffereReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
String bufferedStrChunk = null;
while ((bufferedStrChunk = buffereReader.readLine()) != null)
{
stringBuilder.append(bufferedStrChunk);
}
return stringBuilder.toString();
}
catch (ClientProtocolException cpe)
{
System.out.println("Erste Ausnahme von HttpResponse: " + cpe);
cpe.printStackTrace();
}
catch (IOException ioe)
{
System.out.println("Zweite Ausnahme von HttpResponse: " + ioe);
ioe.printStackTrace();
}
}
catch (UnsupportedEncodingException uee)
{
System.out.println("Eine Ausnahme aufgrund des UrlEncodedFormEntity-Arguments: " + uee);
uee.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result)
{
// Toast.makeText(getApplicationContext(),
// "POST-Anforderung wurde erfolgreich gesendet",
// Toast.LENGTH_LONG).show();
super.onPostExecute(result);
//Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
//Gehe zum Browser mit Sprachweiterleitung
if (LANGUAGE != null)
{
if (LANGUAGE.equals("Englisch"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getEng()));
startActivity(i);
}
else if (LANGUAGE.equals("Russisch"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getRussian()));
startActivity(i);
}
else if (LANGUAGE.equals("Holländisch(Deutsch)"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getDeutch()));
startActivity(i);
}
else if (LANGUAGE.equals("Französisch"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getFrance()));
startActivity(i);
}
else if (LANGUAGE.equals("Italienisch"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getItalian()));
startActivity(i);
}
else if (LANGUAGE.equals("Spanisch"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link.getSpanish()));
startActivity(i);
}
}
}
}
/***** Zweite Überprüfung der Internetverbindung *****/
if (!isOnline())
{
showNoConnectionDialog(this);
// Toast.makeText(getApplicationContext(),
// "Internetverbindung ist deaktiviert!", Toast.LENGTH_LONG).show();
}
else
{
SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask();
sendPostReqAsyncTask.execute(clientID);
}
}
UPD Hier ist, wie ich Daten sende und Daten von der vorherigen Aktivität abrufe:
// Gehe zur dritten Seite
Intent intent = new Intent(SecondScreen.this, ThirdScreen.class);
intent.putExtra("CLIENT_ID", stringClientID);
intent.putExtra("PASSWORD", getUserPWD);
intent.putExtra("LANGUAGE", language);
startActivity(intent);
finish();
Intent intent = getIntent();
CLIENT_ID = intent.getExtras().getString("CLIENT_ID");
UPD2 Vielleicht habe ich nicht klar erklärt, was ich brauche, also werde ich es versuchen zu erklären... Ich habe eine Website, an die ich Daten über POST senden muss, was bedeutet das? Ich starte meine Android-App, fülle einige Textfelder mit Daten aus und klicke auf die Schaltfläche. Beim Klicken auf diese Schaltfläche muss ich den Webbrowser öffnen und Daten an diese Site senden...