Unable to start receiver com.backendless.push.BackendlessBroadcastReceiver

I try to setup android notification. I do all by this and this tutorial.
I register device in Application class like this:


Backendless.initApp(this, Const.BACKENDLESS_APP_ID, Const.BACKENDLESS_KEY, Const.BACKENDLESS_APP_VERSION);


        Backendless.Messaging.registerDevice(Const.GCM_ID, new AsyncCallback<Void>() {
            @Override
            public void handleResponse(Void aVoid) {
                
            }


            @Override
            public void handleFault(BackendlessFault backendlessFault) {
                
            }
        });

Method handleResponse was called, but after 1-2 seconds I get this exeption:


    java.lang.RuntimeException: Unable to start receiver com.backendless.push.BackendlessBroadcastReceiver: java.lang.RuntimeException: INVALID_SENDER
            at android.app.ActivityThread.handleReceiver(ActivityThread.java:2476)
            at android.app.ActivityThread.access$1700(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1322)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:212)
            at android.app.ActivityThread.main(ActivityThread.java:5135)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.RuntimeException: INVALID_SENDER
            at com.backendless.push.BackendlessBroadcastReceiver.onError(BackendlessBroadcastReceiver.java:144)
            at com.backendless.push.BackendlessBroadcastReceiver.handleRegistration(BackendlessBroadcastReceiver.java:289)
            at com.backendless.push.BackendlessBroadcastReceiver.handleIntent(BackendlessBroadcastReceiver.java:155)
            at com.backendless.push.BackendlessBroadcastReceiver.onReceive(BackendlessBroadcastReceiver.java:124)
            at android.app.ActivityThread.handleReceiver(ActivityThread.java:2469)
            at android.app.ActivityThread.access$1700(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1322)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:212)
            at android.app.ActivityThread.main(ActivityThread.java:5135)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
            at dalvik.system.NativeStart.main(Native Method)

Hi!

You added GOOGLE_PROJECT_ID = “”; in your app?

Regards,
Kate.

Also, you could generate Android chat sample (Code Generation page -> Android)
and use it.

Yes, I add API KEY in dev console and project-id in application.

I rewrite my project, using chat sample, but i also get java.lang.RuntimeException: INVALID_SENDER

My problem is solved.
My mistake that I copied from google console Project ID, but need Project Number.
Thx Катя.

Great!

We will add more details in documentation to avoid such problems.

Regards,
Kate.

Hi,

I had exactly the same problem, and the same resolution.
I used the backendless sampler code generator, so i suggest to replace GOOGLE_PROJECT_ID by GOOGLE_PROJECT_NUMBER , or at least comment this in Defaults.java class, because it was tricky to find out where my mistake was :slight_smile:

Dear support team,

I successfully push and get notification using backendless. But, don’t know why sometimes the app is crash and the error log is:

java.lang.RuntimeException: Unable to start receiver com.glis.minishop.backendless.PushReceiver: java.lang.RuntimeException: Could not register device on Backendless server: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference	at android.app.ActivityThread.handleReceiver(ActivityThread.java:2952)	at android.app.ActivityThread.access$1800(ActivityThread.java:172)	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)	at android.os.Handler.dispatchMessage(Handler.java:102)	at android.os.Looper.loop(Looper.java:145)	at android.app.ActivityThread.main(ActivityThread.java:5832)	at java.lang.reflect.Method.invoke(Method.java)	at java.lang.reflect.Method.invoke(Method.java:372)	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)Caused by: java.lang.RuntimeException: Could not register device on Backendless server: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference	at com.backendless.push.BackendlessBroadcastReceiver.onError(BackendlessBroadcastReceiver.java)	at com.backendless.push.BackendlessBroadcastReceiver$1.handleFault(BackendlessBroadcastReceiver.java)	at com.backendless.Messaging.registerDeviceOnServer(Messaging.java)	at com.backendless.push.BackendlessBroadcastReceiver.registerFurther(BackendlessBroadcastReceiver.java)	at com.backendless.push.BackendlessBroadcastReceiver.handleRegistration(BackendlessBroadcastReceiver.java)	at com.backendless.push.BackendlessBroadcastReceiver.handleIntent(BackendlessBroadcastReceiver.java)	at com.backendless.push.BackendlessBroadcastReceiver.onReceive(BackendlessBroadcastReceiver.java)	at android.app.ActivityThread.handleReceiver(ActivityThread.java:2945)	... 9 more

I don’t know how to fix this even i put the onRegister inside try/catch clause.
Could you pls help show me how to fix or avoid such crash ?

Many thanks & regards.