Реализация push-уведомлений в Android - PullRequest
0 голосов
/ 30 марта 2012

Привет всем, я пытаюсь реализовать push-уведомления с помощью cityairship

Я выполнил шаги из http://blog.jamesbaca.net/?p=235

, но получил эту ошибку:

   03-30 16:10:34.022: E/AndroidRuntime(13171): FATAL EXCEPTION: main
03-30 16:10:34.022: E/AndroidRuntime(13171): java.lang.ExceptionInInitializerError
03-30 16:10:34.022: E/AndroidRuntime(13171):    at com.nano.push.PushPreferencesActivity.<init>(PushPreferencesActivity.java:58)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at java.lang.Class.newInstanceImpl(Native Method)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at java.lang.Class.newInstance(Class.java:1429)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.os.Looper.loop(Looper.java:123)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at android.app.ActivityThread.main(ActivityThread.java:4627)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at java.lang.reflect.Method.invokeNative(Native Method)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at java.lang.reflect.Method.invoke(Method.java:521)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at dalvik.system.NativeStart.main(Native Method)
03-30 16:10:34.022: E/AndroidRuntime(13171): Caused by: java.lang.NullPointerException
03-30 16:10:34.022: E/AndroidRuntime(13171):    at com.urbanairship.push.PushManager.<init>(Unknown Source)
03-30 16:10:34.022: E/AndroidRuntime(13171):    at com.urbanairship.push.PushManager.<clinit>(Unknown Source)
03-30 16:10:34.022: E/AndroidRuntime(13171):    ... 16 more

Ответы [ 2 ]

0 голосов
/ 08 августа 2012

может быть вашему проекту нужны зависимые библиотеки, вы можете попробовать это:

  1. щелкните правой кнопкой мыши свой проект и выберите свойство проекта
  2. введите "путь сборки Java" -> "Заказ и экспорт"
  3. выберите все скомпилированные проекты, которые нуждаются в зависимых проектах
0 голосов
/ 30 марта 2012

Обмен сообщениями между облаками и устройствами Android (C2DM) - это служба, которая помогает разработчикам отправлять данные с серверов в свои приложения на устройствах Android. Служба предоставляет простой и легкий механизм, который серверы могут использовать, чтобы сообщать мобильным приложениям о прямом контакте с сервером, получать обновленные данные приложения или пользователя. Служба C2DM обрабатывает все аспекты постановки в очередь сообщений и доставки в целевое приложение, работающее на целевом устройстве.

Итак, как вы настраиваете push-уведомления C2DM в своем приложении Android из своего веб-приложения? Вот шаги, которые нужно выполнить как для приложения Android, так и для веб-сервера. Регистрация на C2DM

Первым шагом является регистрация на http://code.google.com/android/c2dm/signup.html. Заполните соответствующую информацию, наиболее важной из них является имя пакета вашего приложения и адрес электронной почты учетной записи. Это идентификатор электронной почты, который вы будете использовать для настройки и запуска уведомлений C2DM. Это должна быть действительная учетная запись Gmail. Убедитесь, что вы не используете этот идентификатор электронной почты на любом устройстве. После того как вы закончите регистрацию, вам нужно подождать, чтобы получить от Google подтверждение по электронной почте о том, что ваша регистрация была принята. Что нужно сделать на фронте Android После того, как вы зарегистрировались, вы должны включить приложение Android C2DM. Ваше приложение на устройстве должно быть зарегистрировано на сервере Google C2DM для получения сообщений. Это требует довольно много сантехнического кода. Классы из примера проекта Google C2DM ChromeToPhone могут использоваться в качестве основы и расширяться при необходимости.

следующая ссылка, которую я использовал, будет полезна для вас.

http://www.vogella.de/articles/AndroidCloudToDeviceMessaging/article.html

Это очень хорошая ссылка для использования push-уведомлений.

http://www.vogella.de/articles/AndroidCloudToDeviceMessaging/article.html

...