2014-02-28 1 views
1

의 메시지가 필요합니다. 널 포인터 예외로 오류를 보여줍니다 : println은 안드로이드에서 메시지 e를 필요로합니다.println은 내 Google 클라우드 메시지 응용 프로그램에서 android

Log.e("UnRegister Receiver Error", "> " + e.getMessage()); 

에 :

String err = (e.getMessage()==null)?"UnRegister Receiver Error":e.getMessage(); 
Log.e("UnRegister Receiver Error", err); 

을하지만 여전히 같은 error.please 나를 도와의 난에서 코드를 변경했습니다.

@Override 
    protected void onDestroy() { 
     if (mRegisterTask != null) { 
      mRegisterTask.cancel(true); 

     } 
     try { 
      unregisterReceiver(mHandleMessageReceiver); 
      GCMRegistrar.onDestroy(this); 
     } catch (Exception e) { 

      //String err = (e.getMessage()==null)?"UnRegister Receiver Error":e.getMessage(); 
      //Log.e("UnRegister Receiver Error", err); 
      Log.e("UnRegister Receiver Error", "> " + e.getMessage()); 
     } 

     super.onDestroy(); 
    } 

로그 캣 : 당신은 수동으로 인쇄 할 필요가 없습니다

02-28 22:58:35.254: E/AndroidRuntime(2812): FATAL EXCEPTION: IntentService[GCMIntentService-414538748674-1] 
02-28 22:58:35.254: E/AndroidRuntime(2812): java.lang.NullPointerException: println needs a message 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.util.Log.println_native(Native Method) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.util.Log.d(Log.java:138) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at com.example.fitness2.GCMIntentService.onRegistered(GCMIntentService.java:29) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at com.google.android.gcm.GCMBaseIntentService.handleRegistration(GCMBaseIntentService.java:296) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:197) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.os.Looper.loop(Looper.java:137) 
02-28 22:58:35.254: E/AndroidRuntime(2812):  at android.os.HandlerThread.run(HandlerThread.java:60) 
02-28 22:58:35.422: W/EGL_emulation(2812): eglSurfaceAttrib not implemented 
02-28 22:58:35.774: V/GCMRegistrar(2812): Unregistering receiver 
02-28 22:58:35.774: E/UnRegister Receiver Error(2812): Receiver not registered: [email protected] 
02-28 22:58:35.774: E/UnRegister Receiver Error(2812): > Receiver not registered: [email protected] 
+1

음, logcat 로그에서 onDestroy가 표시되지 않습니다 ... 로그 – Selvin

답변

1

. 당신은

e.printStackTrace(); 

당신이해야 할 모든이 줄 모든 catch 코드를 대체하는 것입니다 다음으로는 printStackTrace 사용 할 수 있습니다.

logcat 일 전에 등록되지 않은 브로드 캐스트 수신기의 등록을 취소하려고합니다. (마지막 두 줄을 읽으십시오) 나는 처음에 등록 수신기에 전화하는 것을 잊었다 고 생각합니다.

+1

에서 스택 추적과 연결된 코드를 제공하지 않았습니다. El-Rahman El-Tama 여전히 동일한 오류 도움말 plz입니다. – user3049804

+0

내 라인을 다음으로 바꾸십시오. e, 로그 라인. 동일한 오류가 발생하는 경우 복사하십시오. –

+0

logcat이 이미 게시되었습니다. – user3049804

관련 문제