Получение регистрационного ID из PHP, который мы отправили из приложения Android - PullRequest
0 голосов
/ 08 декабря 2011

Это попытка разработать приложение для Android с поддержкой C2DM

То, что я сделал правильно

  • Получите действительный адрес Gmail с C2DM
  • Напишите приложение для Android для получения регистрационного идентификатора из C2DM
  • Получить этот регистрационный идентификатор из C2DM
  • Передайте этот регистрационный идентификатор стороннему серверу (я отправил php стр.) ( 1 )
  • Отправьте это правильно (я проверил это с помощью класса HttpEntity в том же приложение для Android, и я получил содержание этой страницы)
  • Получение идентификатора аутентификации Google на стороне сервера (используется PHP)
  • Открыть учетную запись Gmail в моем эмуляторе (Меню - Настройки - Учетные записи и синхронизация - Добавить учетную запись)

Вещи, которые я запутался

  • Как эта веб-страница ( 1 ) получала уведомление, когда мое приложение для Android прошло запрос «http»?

  • Как отобразить регистрационный идентификатор на веб-странице, отправленной моим приложением для Android?

Вещи, которые не будут работать

  • Отправка PushNotification в эмулятор, который запускает мое приложение для Android. Отнесено это . Этот код действительно хорош, и первая часть также работает для меня. Но когда я запускаю функцию sendMessageToPhone (), она отправляет мне 401. В моем коде я жестко закодировал значения для;

  • $ authCode = код аутентификации Google, который я получаю

  • $ deviceRegistrationId = Код, отправленный C2DM в мое приложение для Android

Поэтому, пожалуйста, помогите мне очистить мои заблуждения и исправить мои действия "не работать".

1 Ответ

0 голосов
/ 08 декабря 2011

Вот самый простой код для отправки POST-запроса в PHP:

String url = "http://your.domain.com/path/to/your/post/request/handler.php";
HttpClient client = new DefaultHttpClient();

try {
  List<NameValuePair> post = new ArrayList<NameValuePair>();
  post.add(new BasicNameValuePair("registrationId", "[YOUR ID VALUE HERE]"));

  client.setEntity(new UrlEncodedFormEntity(post));
  client.execute(new HttpPost(url));
} catch(IOException e) {
  //do something here
}

На стороне сервера (т. Е. В вашем PHP-скрипте) вы можете использовать суперглобальную переменную $ _POST, которая заполняется из данных POST и представляет собой простой ассоциативный массив. Примерно так:

if (!empty($_POST['registrationId'])) {
  //do something here
}
...