Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to get context in android Service class
    primarykey
    data
    text
    <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>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload