Android – 无法启动接收器com.parse.ParsePushBroadcastReceiver

我正在尝试使用Parse测试一个非常基本的推送通知程序,但是当我广播通知时我的应用程序崩溃了.这是我的错误日志.

    10-02 23:21:45.625: E/AndroidRuntime(6133): FATAL EXCEPTION: main
    10-02 23:21:45.625: E/AndroidRuntime(6133): java.lang.RuntimeException: Unable to start receiver com.parse.ParsePushbroadcastReceiver: java.lang.NullPointerException
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2372)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.app.ActivityThread.access$1500(ActivityThread.java:149)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.os.Handler.dispatchMessage(Handler.java:99)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.os.Looper.loop(Looper.java:153)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.app.ActivityThread.main(ActivityThread.java:4987)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at java.lang.reflect.Method.invokeNative(Native Method)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at java.lang.reflect.Method.invoke(Method.java:511)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at dalvik.system.NativeStart.main(Native Method)
    10-02 23:21:45.625: E/AndroidRuntime(6133): Caused by: java.lang.NullPointerException
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.parse.ParsePushbroadcastReceiver.getSmallIconId(ParsePushbroadcastReceiver.java:253)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.parse.ParsePushbroadcastReceiver.getNotification(ParsePushbroadcastReceiver.java:335)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.parse.ParsePushbroadcastReceiver.onPushReceive(ParsePushbroadcastReceiver.java:143)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at com.parse.ParsePushbroadcastReceiver.onReceive(ParsePushbroadcastReceiver.java:104)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2365)
    10-02 23:21:45.625: E/AndroidRuntime(6133):     ... 10 more

有人可以告诉我为什么ParsePushbroadcaseReceiver没有启动?当我打电话时,知道我的应用程序“无法订阅推送”也可能有所帮助:

ParsePush.subscribeInBackground("channel_name", new SaveCallback() {
      @Override
      public void done(ParseException e) {
        if (e != null) {
          Log.v("com.parse.push", "successfully subscribed to the broadcast channel.");
        } else {
          Log.v("com.parse.push", "Failed to subscribe for push", e);
        }
      }
    });

解决方法:

在项目清单中添加此行.

 <Meta-data
            android:name="com.parse.push.notification_icon"
            android:resource="@drawable/ic_launcher" />

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...