2015-04-27 182 views
0

我使用Parse.com發送推送通知 我的應用程序工作正常,並推送通知成功發送到設備,但是當我打開通知應用程序時被迫關閉。 我logcat的錯誤是:打開推送通知後的應用程序崩潰

FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to resume activity java.lang.NullPointerException 

哪裏我的onResume()在主類是:

@Override 
protected void onResume() { 
    super.onResume(); 

    if (this.getIntent() != null) { 
     final Bundle extras = this.getIntent().getExtras(); 
     if (extras != null) { 
      final String tabTag = extras.getString("tab_tag"); 

      if (tabTag.equals("All Photos")) 
       mViewPager.setCurrentItem(1); 
      else if (tabTag.equals("Favorite")) 
       mViewPager.setCurrentItem(2); 
      else 
       mViewPager.setCurrentItem(0); 
     } 
    } 
+0

tabTag或mViewPager必須從您顯示的代碼中爲空。我猜測它是tabTag,但也有可能mViewPager被破壞了,並且在onResume期間爲null。嘗試使用if語句檢查是否爲null,然後打印出logcat中的內容。 – anthonycr

回答

0

很難用在有限的堆棧跟蹤的說法,因爲我們不知道確切的所在行的代碼休息。所以我假設在您提供的OnResume()方法中引發異常。

如果NullPointerException被拋出在這條線:

if (tabTag.equals("All Photos")) 

然後可變tabTag null,指示或者a)的 「tab_tag」 的值爲空,或b)的鍵"tab_tag"不存在您正在閱讀的extras包。

然而,如果NullPointerException被拋出在這條線:

mViewPager.setCurrentItem(1); 

然後mViewPager null,指示或者a)mViewPager尚未被初始化,或b)該被初始化的mViewPager實例,具有已丟失。

相關問題