我知道我可以做一个内部接收器类来调用接收器中的任何方法
但我的主要活动太大了,做了很多事情.所以我需要一个扩展广播接收器但不是内部类的类.并且可以从我的主要活动中调用一个方法.我不知道是否可能,但我的活动是家庭活动和"singleInstance"活动,所以也许有这个细节,有人可以访问我的活动.
如果不可能以任何方式在多个文件中分割一些java代码,那么我的主要代码超过600行.(并且为了获取信息,我已经为我的应用程序的alpha版本提供了19个java文件,因此我尝试将其拆分)
我正在使用Parse.com服务发送推送通知并让广播接收器接收消息.我想在广播接收器中调用我的活动中的方法来显示Toast消息(实际上我想更新listview内容但是现在我只是使用Toast来检查方法是否被成功调用)而不调用活动.
首先,我遵循以下指示:
但它会产生错误:
12-20 20:53:33.892: E/AndroidRuntime(14245): FATAL EXCEPTION: main
12-20 20:53:33.892: E/AndroidRuntime(14245): java.lang.RuntimeException: Unable to start receiver event.planner.services.CustomReceiver: java.lang.NullPointerException
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2236)
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.app.ActivityThread.access$1500(ActivityThread.java:130)
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.os.Handler.dispatchMessage(Handler.java:99)
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.os.Looper.loop(Looper.java:137)
12-20 20:53:33.892: E/AndroidRuntime(14245): at android.app.ActivityThread.main(ActivityThread.java:4745)
12-20 20:53:33.892: E/AndroidRuntime(14245): at java.lang.reflect.Method.invokeNative(Native Method)
12-20 20:53:33.892: E/AndroidRuntime(14245): at java.lang.reflect.Method.invoke(Method.java:511)
12-20 20:53:33.892: E/AndroidRuntime(14245): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-20 20:53:33.892: E/AndroidRuntime(14245): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-20 20:53:33.892: E/AndroidRuntime(14245): at dalvik.system.NativeStart.main(Native Method)
12-20 20:53:33.892: …Run Code Online (Sandbox Code Playgroud)