2012-01-14 2 views
0

Я пробовал интернет какое-то время, и я не могу заставить приложение Android отправлять идентификатор регистрации и идентификатор устройства на сервер. Я уверен, что есть что-то простое, чего мне не хватает, но может ли кто-нибудь увидеть, что я делаю неправильно? Код поражен, а тосты показаны, но сервер ничего не делает, но если я перейду к URL-адресу напрямую, он сделает то, что я хочу.Как отправить регистрационный идентификатор C2DM на сервер

if (!regId.equals("")) { 
     Toast.makeText(context, "The registration ID is: " + regId, 
       Toast.LENGTH_LONG).show(); 
     Toast.makeText(context, "The device ID is: " + deviceId, 
       Toast.LENGTH_LONG).show(); 
     // Create a new HttpClient and Post Header 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://uni.britintel.co.uk/register.php"); 

     try { 
      // Add your data 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
      nameValuePairs.add(new BasicNameValuePair("deviceId", deviceId)); 
      nameValuePairs.add(new BasicNameValuePair("registrationId", regId)); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      // Execute HTTP Post Request 
      HttpResponse httpresponse = httpclient.execute(httppost); 
      BufferedReader rd = new BufferedReader(new InputStreamReader(
        httpresponse.getEntity().getContent())); 

      String line = ""; 
      while ((line = rd.readLine()) != null) { 
       Log.e("HttpResponse", line); 
       Toast.makeText(context, line, 
         Toast.LENGTH_LONG).show(); 
      } 


     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
     } 
    } else { 
     Toast.makeText(context, "The registration ID doesn't exist", 
       Toast.LENGTH_LONG).show(); 
    } 

Буферизованный считыватель будет удален, как только я получу его работу, поскольку он бессмыслен для того, что я хочу.

Заранее благодарю за любую помощь.

+0

Я пытался использовать GET вместо POST, но он все еще не хочет работать – gigaSproule

ответ

0

Мне, наконец, удалось заставить его работать.

я добавил следующие разрешения манифеста XML, но не знает, почему он установил его ...

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

Были также некоторые проблемы с моим сервером, но я только получил ответ после добавления разрешений ,

Смежные вопросы