title: null pointer exception with Handler in new thread started in Service, Android
body: <p>I'm not able to print out a simple Toast message from my android Service class:</p>
  
  <pre><code> @Override
  public void run() {
      handler.post(new Runnable() {
          @Override
          public void run() {
              Toast.makeText(context, "thread is running", Toast.LENGTH_LONG).show();
          }
      }); 
    }
  </code></pre>
  
  <p>This run method is inside of a Service that is implementing the <code>Runnable</code> class, for that reason I am using <code>handler.post</code>, however cannot get anything to work inside of the inner <code>run()</code> method.   I thought that <code>handler.post</code> would post would work,  what is wrong?</p>
  
  <p>the rest of the code and the logcat printout is below;</p>
  
  <pre><code>public class LotteryServer extends Service implements Runnable {
  
              Handler handler = new Handler();
              Context context = this;
  
              @Override
              public int onStartCommand(Intent intent, int flags, int startId){
                   super.onStartCommand(intent, startId, startId);
                   Toast.makeText(context, "My Service Started", Toast.LENGTH_LONG).show();
                   return START_STICKY;
              }
  
              @Override
              public IBinder onBind(Intent arg0) {
                   // TODO Auto-generated method stub
                   return null;
              }
              @Override   
              public void onDestroy() {
                  super.onDestroy();
                  Toast.makeText(context, "My Service Stopped", Toast.LENGTH_LONG).show();
              }
              @Override
              public void run() {
              handler.post(new Runnable() {
                       @Override
                       public void run() {
                            Toast.makeText(context, "thread is running",     Toast.LENGTH_LONG).show();
                       }
              }); 
  
      }
  }
  </code></pre>
  
  <p>LogCat;</p>
  
  <pre><code>02-21 15:09:33.279: E/AndroidRuntime(24038): FATAL EXCEPTION: main
  02-21 15:09:33.279: E/AndroidRuntime(24038): java.lang.NullPointerException
  02-21 15:09:33.279: E/AndroidRuntime(24038): at android.content.ContextWrapper.getResources(ContextWrapper.java:81)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.widget.Toast.&lt;init&gt;(Toast.java:92)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.widget.Toast.makeText(Toast.java:233)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at com.lottery.clientplayer.LotteryServer$1.run(LotteryServer.java:44)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.os.Handler.handleCallback(Handler.java:605)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.os.Handler.dispatchMessage(Handler.java:92)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.os.Looper.loop(Looper.java:137)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at android.app.ActivityThread.main(ActivityThread.java:4699)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at java.lang.reflect.Method.invokeNative(Native Method)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at java.lang.reflect.Method.invoke(Method.java:511)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
  02-21 15:09:33.279: E/AndroidRuntime(24038):    at dalvik.system.NativeStart.main(Native Method)
  </code></pre>