title: How to get context in android Service class
body: <p>I am getting the following error when i try to read a XML file from the memory and into an object. Seems like problem with getting the Context. Can anyone tell me whats wrong with my code?</p>
  
  <p><strong>Code:</strong></p>
  
  <pre><code>public class WifiScanning extends Service {
  
  private static final String TAG = "WifiScanning";
  private Timer timer;
  public int refreshRate;
  
  public WifiScanning() {
      super();
      Configuration config = new Configuration();
      SAXParserFactory spf = SAXParserFactory.newInstance(); 
      SAXParser sp;
      XMLReader xr = null; 
      DataHandler dataHandler = null;
      try {
          sp = spf.newSAXParser();
          xr = sp.getXMLReader();
          dataHandler = new DataHandler(); 
          xr.setContentHandler(dataHandler); 
  
  
          xr.parse(new InputSource(this.openFileInput("config.xml")));
      } catch (ParserConfigurationException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (SAXException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (FileNotFoundException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } 
  
      config = dataHandler.getConfig();
      refreshRate = Integer.parseInt(config.getMapRefreshRate());
      // TODO Auto-generated constructor stub
  }
  
  private TimerTask updateTask = new TimerTask() {
      @Override
      public void run() {
          Log.i(TAG, "Timer task doing work");
      }
  };
  
  @Override
  public IBinder onBind(Intent intent) {
      // TODO Auto-generated method stub
      return null;
  }
  
  @Override
  public void onCreate() {
      super.onCreate();
      Log.i(TAG, "Service creating");
  
      timer = new Timer("TweetCollectorTimer");
      Log.i(TAG, "Refresh Rate: "+ String.valueOf(refreshRate));
      timer.schedule(updateTask, 0, 3000L);
  
  }
  
  @Override
  public void onDestroy() {
      super.onDestroy();
      Log.i(TAG, "Service destroying");
  
      if (timer != null){
          timer.cancel();
          timer.purge();
          timer = null;
      }
  }
  
  public void onStop() {
      Log.i(TAG, "Service destroying");
      if (timer != null){
          timer.cancel();
          timer.purge();
          timer = null;
      }
  }
  }
  </code></pre>
  
  <p><strong>LogCat:</strong></p>
  
  <pre><code>10-01 11:08:49.804: ERROR/AndroidRuntime(21514): java.lang.RuntimeException: Unable to instantiate service android.wps.WifiScanning: java.lang.NullPointerException
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2764)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.app.ActivityThread.access$3200(ActivityThread.java:119)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.os.Handler.dispatchMessage(Handler.java:99)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.os.Looper.loop(Looper.java:123)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.app.ActivityThread.main(ActivityThread.java:4363)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at java.lang.reflect.Method.invokeNative(Native Method)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at java.lang.reflect.Method.invoke(Method.java:521)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at dalvik.system.NativeStart.main(Native Method)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514): Caused by: java.lang.NullPointerException
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.content.ContextWrapper.openFileInput(ContextWrapper.java:152)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.wps.WifiScanning.&lt;init&gt;(WifiScanning.java:52)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at java.lang.Class.newInstanceImpl(Native Method)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at java.lang.Class.newInstance(Class.java:1479)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2761)
  10-01 11:08:49.804: ERROR/AndroidRuntime(21514):     ... 10 more
  </code></pre>