我的错误定位了,但是我不知道怎么改,请大神指点哈。
代码如下
switch (bundle.getInt(PushConsts.CMD_ACTION)) {
case PushConsts.GET_CLIENTID:
comm_frame.dev.client_id = bundle.getString("clientid"); <--这里
}
错误原因是comm_frame.dev.client_id声明了但是未初始化,但是我更改成
comm_frame.dev.client_id = null;
comm_frame.dev.client_id = bundle.getString("clientid");
还是报错,我应该怎么改它才能正常工作呢,请求指点。
错误信息如下
07-09 19:53:49.434 30483-30483/ixz.fish_help_app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start receiver comm.GetuiReceiver: java.lang.NullPointerException
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2287)
at android.app.ActivityThread.access$1600(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4935)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at comm.GetuiReceiver.onReceive(GetuiReceiver.java:140)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2280)
at android.app.ActivityThread.access$1600(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4935)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
comm_frame.dev.client_id中comm_frame有没有初始化,报的是空指针。所以看
comm_frame这个对象和bundle是不是空值就行了
bundle.getString("clientid那你看看你这个bundle里有没有这个字符串代表的数据啊。
或者用Toast打印一下看看。
Unable to start receiver comm.GetuiReceiver
检查AndroidManifest.xml配置文件中是否配置了receiver
zcomm_frame有没有初始化,是空指针
代码太多,我嫌上一部分
package comm;
public class comm_frame
{
public class frame_head
{
public byte[] dev_id;
public byte manu_id;
public byte dev_type;
public byte frame_type;
public short frame_len;
}
static public frame_head frame_head_info;
。。。
里面是一些成员变量和实现函数
}
空指针异常,看看是不是没有初始化啊