2014-02-03 2 views
0

Я пытаюсь отправить сообщение gcm push через код java, создавая массив json и отправляя как http.Почему мой gcm разрешает мой идентификатор регистрации устройства для того же приложения?

У меня есть массив идентификаторов регистрации для разных устройств. Проблема: Проблема заключается в том, что когда я отправляю gcm-сообщение в массив идентификаторов регистрации, я получаю сообщение об успешном завершении только для того же идентификатора регистрации (устройства), из которого я отправляю сообщение, а для другого - неправильная ошибка идентификатора регистрации в мое сообщение возврата от gcm.

Приложение только подтверждает мою регистрационную идентификацию! Зачем? Пожалуйста, постарайтесь предоставить мне некоторую информацию. это то, что api key ??

+0

С, где вы получили другие REG иды ???? –

+0

Другие регистрации ids Я синхронизируюсь с базы данных сервера с локальной базой данных android! эти идентификаторы регистрации, которые я создал с использованием одного и того же приложения во время ведения журнала – user2878181

+0

Я также думаю, что он получает правильный формат регистрационных идентификаторов .. поскольку устройство отправляет сообщения только на один и тот же идентификатор регистрации устройства. Если идентификаторы регистрации неверны, это не должно отправьте на одно и то же устройство, но оно отправляет для себя все устройства, которые я проверил. :( – user2878181

ответ

0

частного недействительного sendPush (ArrayList registrationids, String сообщение) бросает исключение {

HttpPost HttpPost = новый HttpPost ("https://android.googleapis.com/gcm/send");

httppost.addHeader("Authorization", "key="key"); 
httppost.addHeader("Content-Type", "application/json"); 

JSONObject topObject=new JSONObject(); 


JSONObject dataObject=new JSONObject(); 
dataObject.put("msg", message); 
dataObject.put("title", "Test Title"); 

topObject.put("data", dataObject); 

JSONArray arObject=new JSONArray(); 



for(int i=0;i<registrationids.size();i++) 
{ 
arObject.put(registrationids.get(i)); 
Log.e("", registrationids.get(i)+""); 
} 

//arObject.put(registrationids.get(1)); 


topObject.put("registration_ids", arObject); 

String jsonBody=topObject.toString(); 
httppost.setEntity(new StringEntity(jsonBody,"UTF-8")); 





HttpClient httpclient = new DefaultHttpClient(); 
HttpResponse httpResponse = httpclient.execute(httppost); 
HttpEntity resEntity = httpResponse.getEntity(); 

// Get the HTTP Status Code 
int statusCode = httpResponse.getStatusLine().getStatusCode(); 

// Get the contents of the response 
InputStream input = resEntity.getContent(); 
String responseBody = Utils.convertStreamToString(input); 
input.close(); 

// Print the response code and message body 
Log.e("HTTP Status Code:", statusCode+""); 
Log.e("responseBody", responseBody); 

}

+0

См. комментарий! ! с кодом: / – user2878181

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