title: added facebook SDK now unable to resume activity force close
body: <p>My activity is throwing this error on crash:</p>
  
  <pre><code>java.lang.RuntimeException: Unable to resume activity {com.beerportfolio.beerportfoliopro/com.example.mike.beerportfoliomaterial.MainDrawer2}: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
         at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3069)
         at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)
         at android.app.ActivityThread.access$900(ActivityThread.java:172)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
         at android.os.Handler.dispatchMessage(Handler.java:102)
         at android.os.Looper.loop(Looper.java:146)
         at android.app.ActivityThread.main(ActivityThread.java:5653)
         at java.lang.reflect.Method.invokeNative(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:515)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
         at dalvik.system.NativeStart.main(NativeStart.java)
  Caused by: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
         at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:273)
         at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:260)
         at com.example.mike.beerportfoliomaterial.MainDrawer2.onResume(MainDrawer2.java:179)
         at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1198)
         at android.app.Activity.performResume(Activity.java:5618)
         at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3059)
         at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)
         at android.app.ActivityThread.access$900(ActivityThread.java:172)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
         at android.os.Handler.dispatchMessage(Handler.java:102)
         at android.os.Looper.loop(Looper.java:146)
         at android.app.ActivityThread.main(ActivityThread.java:5653)
         at java.lang.reflect.Method.invokeNative(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:515)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
         at dalvik.system.NativeStart.main(NativeStart.java)
  </code></pre>
  
  <p>My code for the activity is:</p>
  
  <pre><code>import android.IntentIntegrator;
  import android.IntentResult;
  import android.annotation.TargetApi;
  import android.app.SearchManager;
  import android.content.Context;
  import android.content.Intent;
  import android.content.res.Configuration;
  import android.os.Build;
  import android.os.Bundle;
  import android.support.v4.app.ActionBarDrawerToggle;
  import android.support.v4.app.Fragment;
  import android.support.v4.app.FragmentActivity;
  import android.support.v4.app.FragmentManager;
  import android.support.v4.app.FragmentTransaction;
  import android.support.v4.widget.DrawerLayout;
  import android.support.v7.app.ActionBarActivity;
  import android.support.v7.widget.SearchView;
  import android.support.v7.widget.Toolbar;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.EditText;
  import android.widget.ListView;
  import android.widget.Spinner;
  import android.widget.Toast;
  import com.facebook.Session;
  
  import com.facebook.AppEventsLogger;
  
  
  /**
   * Created by Mike and Simon on 2/22/14.
   */
  public class MainDrawer2 extends ActionBarActivity
  {
      private static final String EXTRA_NAV_ITEM    = "extraNavItem";
      private static final String STATE_CURRENT_NAV = "stateCurrentNav";
  
      private ActionBarDrawerToggle mDrawerToggle;
      private DrawerLayout mDrawerLayout;
  
  
      private NavDrawerListAdapter mDrawerAdapter;
      private ListView mDrawerList;
  
      private CharSequence mTitle;
      private CharSequence mDrawerTitle;
  
      private MainNavItem mCurrentNavItem;
  
  
      public static Intent createLaunchFragmentIntent(Context context, MainNavItem navItem)
      {
          return new Intent(context, MainDrawer2.class)
                  .putExtra(EXTRA_NAV_ITEM, navItem.ordinal());
      }
  
  
  
      @Override
      protected void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.fragment_main);
  
  
  
          //Crashlytics.start(this);
  
          mTitle = mDrawerTitle = getTitle();
          mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
          mDrawerList   = (ListView)findViewById(R.id.drawer);
  
          // Set a toolbar to replace the action bar.
          Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
          toolbar.setTitleTextColor(0xFFFFFFFF);
  
          setSupportActionBar(toolbar);
  
          //getActionBar().setDisplayHomeAsUpEnabled(true);
          //enableHomeButtonIfRequired();
  
          mDrawerAdapter = new NavDrawerListAdapter(getApplicationContext());
          mDrawerList.setAdapter(mDrawerAdapter);
          mDrawerList.setOnItemClickListener(new ListView.OnItemClickListener()
          {
              @Override
              public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id)
              {
                  displayNavFragment((MainNavItem)parent.getItemAtPosition(position));
  
                  if(mDrawerLayout.isDrawerOpen(mDrawerList)) {
                      mDrawerLayout.closeDrawer(mDrawerList);
  
                  }
                  else {
                      mDrawerLayout.openDrawer(mDrawerList);
                  }
              }
          });
  
          mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                  R.drawable.ic_menu_white, R.string.app_name, R.string.app_name)
          {
              public void onDrawerClosed(View view)
              {
                  //getActionBar().setTitle(mTitle);
                  invalidateOptionsMenu();
              }
  
              public void onDrawerOpened(View drawerView)
              {
                  //getActionBar().setTitle(mDrawerTitle);
                  invalidateOptionsMenu();
              }
          };
  
          mDrawerLayout.setDrawerListener(mDrawerToggle);
  
          if(getIntent().hasExtra(EXTRA_NAV_ITEM)){
              MainNavItem navItem = MainNavItem.values()
                      [getIntent().getIntExtra(EXTRA_NAV_ITEM,
                      MainNavItem.STATISTICS.ordinal())];
              displayNavFragment(navItem);
          }
          else if(savedInstanceState != null){
              mCurrentNavItem = MainNavItem.values()
                      [savedInstanceState.getInt(STATE_CURRENT_NAV)];
              setCurrentNavItem(mCurrentNavItem);
          }
          else{
              displayNavFragment(MainNavItem.STATISTICS);
          }
      }
  
      @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
      private void enableHomeButtonIfRequired()
      {
          if(Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
              //getActionBar().setHomeButtonEnabled(true);
          }
      }
      public void setActionBarTitle(String title) {
          //getActionBar().setTitle(title);
      }
  
  
      @Override
      public void setTitle(CharSequence title)
      {
          mTitle = title;
          //getActionBar().setTitle(mTitle);
      }
  
      @Override
      protected void onPostCreate(Bundle savedInstanceState)
      {
          super.onPostCreate(savedInstanceState);
          // Sync the toggle state after onRestoreInstanceState has occurred.
          mDrawerToggle.syncState();
      }
  
      @Override
      public void onConfigurationChanged(Configuration newConfig)
      {
          super.onConfigurationChanged(newConfig);
          // Pass any configuration change to the drawer toggles
          mDrawerToggle.onConfigurationChanged(newConfig);
      }
  
      @Override
      protected void onResume() {
          super.onResume();
  
          // Logs 'install' and 'app activate' App Events.
          AppEventsLogger.activateApp(this);
      }
  
      @Override
      protected void onPause() {
          super.onPause();
  
          // Logs 'app deactivate' App Event.
          AppEventsLogger.deactivateApp(this);
      }
  
      @Override
      protected void onSaveInstanceState(Bundle outState)
      {
          super.onSaveInstanceState(outState);
  
          if (mCurrentNavItem == null){
  
  
          }
          else{
              outState.putInt(STATE_CURRENT_NAV, mCurrentNavItem.ordinal());
          }
  
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu)
      {
          getMenuInflater().inflate(R.menu.main, menu);
  
          return true;
      }
  
      /*
      @Override
      public boolean onPrepareOptionsMenu(Menu menu)
      {
          // if nav drawer is opened, hide the action items
          boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
          menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
          return super.onPrepareOptionsMenu(menu);
      }
      */
  
  
  
      private void displayNavFragment(MainNavItem navItem)
      {
          //if(navItem == mCurrentNavItem){
          //  return;
          //}
          Fragment fragment = Fragment.instantiate(this,
                  navItem.getFragClass().getName());
          if(fragment != null){
  
              getSupportFragmentManager().beginTransaction()
                      .replace(R.id.main, fragment)
                      .commit();
              //setCurrentNavItem(navItem);
          }
      }
  
      private void setCurrentNavItem(MainNavItem navItem)
      {
          int position = navItem.ordinal();
          // If navItem is in DrawerAdapter
  
          if(position &gt;= 0 &amp;&amp; position &lt; mDrawerAdapter.getCount()){
              //mDrawerList.setItemChecked(position, true);
          }
          else{
              // navItem not in DrawerAdapter, de-select current item
              if(mCurrentNavItem != null){
                  //mDrawerList.setItemChecked(mCurrentNavItem.ordinal(), false);
              }
          }
  
          //test to keep item not selected
          int toClear=mDrawerList.getCheckedItemPosition();
  
          if (toClear &gt;= 0) {
              mDrawerList.setItemChecked(toClear, false);
          }
  
          mDrawerLayout.closeDrawer(mDrawerList);
          //setTitle(navItem.getTitleResId());
          mCurrentNavItem = navItem;
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
  
          switch (item.getItemId()) {
              case android.R.id.home:
                  if(mDrawerLayout.isDrawerOpen(mDrawerList)) {
                      mDrawerLayout.closeDrawer(mDrawerList);
  
                  }
                  else {
                      mDrawerLayout.openDrawer(mDrawerList);
                  }
                  return true;
              default:
  
                  return super.onOptionsItemSelected(item);
          }
      }
  
  
  
  
      public void goToSearch(MenuItem item){
  
          //go to search page
          Fragment Fragment_one;
          FragmentManager man= getSupportFragmentManager();
          FragmentTransaction tran = man.beginTransaction();
          Fragment_one = new Search();
  
          tran.replace(R.id.main, Fragment_one);//tran.
          tran.addToBackStack(null);
          tran.commit();
  
      }
  
      public void scanBarcode(MenuItem item){
  
          //open scanner
          IntentIntegrator scanIntegrator = new IntentIntegrator(this);
          scanIntegrator.initiateScan();
  
  
  
      }
  
      public void onActivityResult(int requestCode, int resultCode, Intent intent) {
  
          //retrieve scan result
          IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
          if (scanningResult != null) {
              //we have a result
  
              String scanContent = scanningResult.getContents();
  
              //todo: set scan content into setting, load new fragment which calls async task below. New
              //todo: fragment will have same ui as search. :-)
              Fragment Fragment_one;
  
  
  
  
              FragmentManager man= this.getSupportFragmentManager();
              FragmentTransaction tran = man.beginTransaction();
              BarcodeFrag fragmentNew = new BarcodeFrag();
              Bundle bundle = new Bundle();
              bundle.putString("scanContent", scanContent);
              fragmentNew.setArguments(bundle);
  
  
              tran.replace(R.id.main, fragmentNew);//tran.
              tran.addToBackStack(null);
              //tran.commit();
              tran.commitAllowingStateLoss();
  
  
          }
  
          else{
              Toast toast = Toast.makeText(getApplicationContext(),
                      "No scan data received!", Toast.LENGTH_SHORT);
              toast.show();
          }
  
      }
  
  
  
  }
  </code></pre>
  
  <p>Facebook gave me these instructions in order to track install. The error points out I seem to be missing some arguments, did the instructions miss something:</p>
  
  <p><img src="https://i.stack.imgur.com/zqAGl.png" alt="enter image description here"></p>