title: NullPointerException with and intent Android
body: <p>I have a switch class to determine phone or tablet and I get a null pointer exception when the intent is created. I am just wondering what is causing this as both activities exist and the switch is working correctly as the intent it errors out on switches when on a phone of tablet.</p>
  
  <p>Here is the code for the initial activity that launches the respective activity:</p>
  
  <pre><code>package jack.beastapps.TimerPlus;
  
  import android.app.Activity;
  import android.content.Context;
  import android.content.Intent;
  import android.os.Bundle;
  import android.util.DisplayMetrics;
  
  public class SplashScreen extends Activity {
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  }
  
  
  public boolean isTablet() { 
  try { 
      Context context = this;
      // Compute screen size 
      DisplayMetrics dm = context.getResources().getDisplayMetrics(); 
      float screenWidth  = dm.widthPixels / dm.xdpi; 
      float screenHeight = dm.heightPixels / dm.ydpi; 
      double size = Math.sqrt(Math.pow(screenWidth, 2) + 
                              Math.pow(screenHeight, 2)); 
  
      // Tablet devices should have a screen size greater than 6 inches 
      return size &gt;= 6; 
  } catch(Throwable t) { 
      return false; 
  }
  }{
  if ( isTablet() == true ) {
          Intent tablet = new Intent(SplashScreen.this, TabletActivity.class);
         startActivity(tablet);
  }
  else {
          Intent phone = new Intent(SplashScreen.this, PhoneActivity.class);
          startActivity(phone);
  }
  </code></pre>
  
  <p>Here is the logcat for the force close on startup:</p>
  
  <pre><code>09:34:08.454: E/AndroidRuntime(12322): FATAL EXCEPTION: main
  04-07 09:34:08.454: E/AndroidRuntime(12322): java.lang.RuntimeException: Unable to         instantiate activity        
  ComponentInfo{jack.beastapps.TimerPlus/jack.beastapps.TimerPlus.SplashScreen}:   java.lang.NullPointerException
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread.access$600(ActivityThread.java:123)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.os.Handler.dispatchMessage(Handler.java:99)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.os.Looper.loop(Looper.java:137)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread.main(ActivityThread.java:4424)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at java.lang.reflect.Method.invokeNative(Native Method)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at java.lang.reflect.Method.invoke(Method.java:511)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at dalvik.system.NativeStart.main(Native Method)
  04-07 09:34:08.454: E/AndroidRuntime(12322): Caused by: java.lang.NullPointerException
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.content.ComponentName.&lt;init&gt;(ComponentName.java:75)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.content.Intent.&lt;init&gt;(Intent.java:3122)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at jack.beastapps.TimerPlus.SplashScreen.&lt;init&gt;(SplashScreen.java:36)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at java.lang.Class.newInstanceImpl(Native Method)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at java.lang.Class.newInstance(Class.java:1319)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
  04-07 09:34:08.454: E/AndroidRuntime(12322):    ... 11 more
  </code></pre>