2014-12-06 75 views
0

試圖從靜態函數調用?其初始化,因爲它從該活動的onCreate調用。想知道crashlytics是如何工作的。它是否需要引用某種不存在的上下文。下面是一些代碼:Crashlytics不被稱爲?

從活動菜單覆蓋呼喚:

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     case R.id.explore: 
      ListFragment.injectNewList(ListActivity.this, Stuff.getRandOffset()); 

      break; 
     default: 
      break; 
    } 

    return true; 
} 

調用函數是一個片段內的靜態函數:

public static void injectNewList(FragmentActivity activity, Integer offset) 
{ 
    ListFragment fragment = (ListFragment) activity.getSupportFragmentManager() 
            .findFragmentByTag(BaseFragmentActivity.LIST_FRAGMENT_TAG); 
    if(fragment != null) 
    { 
     fragment.nextOffset = offset; 
     FFData.getInstance().clearList(); 
     fragment.mListAdapter.notifyDataSetInvalidated(); 
     fragment.loadItems(); 
    } 
    else 
    { 
     Crashlytics.log(Log.ERROR, "Log this error", "bad stuff happened!"); 
    } 
} 

活動和片段完全運行時,菜單按鈕被點擊。我也看到代碼在調試器中運行。在genymotion運行(會盡量實際設備),SDK 19,Nexus5

回答

0
  1. 確保Crashlytics是通過調用Crashlytics.start(this);
  2. Crashlytics.log將消息將在您的儀表板,與碰撞相關的可見光第一初始化(這意味着如果沒有崩潰/異常發生,日誌將不會被髮送... Crashlytics是一個崩潰跟蹤服務,如果你需要跟蹤自定義消息還有其他工具)。