2016-06-30 11 views
2
private class HttpPostTask extends AsyncTask<Void, Void, String> { 

    @Override 
    protected String doInBackground(Void... params) { 
     HttpURLConnection mHttpCon = null; 
     String result = null; 

     try { 
      mHttpCon = (HttpURLConnection) ((new URL("http://192.168.1.4:8888/about") 
        .openConnection())); 
      mHttpCon.setDoOutput(true); 
      mHttpCon.setRequestProperty("Content-Type", "application/json"); 
      mHttpCon.setRequestMethod("POST"); 
      mHttpCon.connect(); 

      OutputStream mOS = mHttpCon.getOutputStream(); 
      BufferedWriter mWriter = new BufferedWriter(new OutputStreamWriter(mOS, "UTF-8")); 
      mWriter.write("{'username':'test','fcmid':'fdjslkfjds09f'}"); 
      mWriter.flush(); 
      mWriter.close(); 
      mOS.flush(); 
      mOS.close(); 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
} 

Ich verwende den oben gezeigten Code und soweit ich sehen kann, wird es nicht gesendet an alle. Wireshark zeigt nicht einmal etwas an, das von der IP-Adresse des Telefons gesendet wird, auf dem die App läuft. Ich kann Anfragen von der iOS-App erhalten, kann aber nichts von Android senden. Mache ich etwas falsch? Alle Tutorials, die ich durchgesehen habe, verwenden HttpClient oder AndroidHttpClient, die nicht einmal mehr verfügbar zu sein scheinen.Wie sende ich POST-Anfragen von Android an meinen Anwendungsserver?

+2

Verwenden 'Volley' oder' Retrofit2' fragen hatte. 'HttpClient' ist bereits veraltet. –

+1

Starten Sie die Aufgabe mit execute()? Haben Sie INTERNET-Berechtigungen hinzugefügt? –

+0

@ShadabAnsari Ja, ich habe beides gemacht. – calmandniceperson

Antwort

0

@mkocs Sie sind Kumpel weiterleiten als persmission Struktur, da Android M geändert wird Sie für kritische Erlaubnis in android

Verwandte Themen