service - Using onBind method and unable to start activity nullpointerexception Android -


my first time using service on android, read documentation , examples, wanna implement binded service activity, service scan available wifi networks , activity gets list of wifi, got stuck , don't know mistake, log said unable start activity nullpointerexception. manifest ok, ativity , service on diferents package. here code: activity, service

 public class starterservice extends activity {      final string tag = "wificonn:...";     //edittext txt;     wifimanager mywifi;     scanservice scan;     list<scanresult> sredes;     //private scanservice scan;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         dobindservice();             scan=new scanservice();         //sret.clear();         sredes=scan.getwifi();          (int i=0; i<sredes.size(); i++)         {             scanresult rets = sredes.get(i);             // txt.append("rest: " + rets.ssid +" " + rets.bssid + "\n");             log.d(tag, "rest: " + rets.ssid +" " + rets.bssid);              if (rets.ssid.equalsignorecase("red1"))             {               //  txt.append("red encontrada: " + rets.ssid +" " + rets.bssid + "\n");                 wificonfiguration wc = new wificonfiguration();                  wc.allowedkeymanagement.set(wificonfiguration.keymgmt.none);                 wc.ssid = "\""+rets.ssid+"\"";                 wc.bssid = rets.bssid;                 wc.status = wificonfiguration.status.enabled;                 wc.hiddenssid = true;                  int netid = mywifi.addnetwork(wc); // añade red               //  txt.append("netid"+ integer.tostring(netid) +"\n");                  if(mywifi.enablenetwork(netid, true)) // valida conexión                 {                //     txt.append("estado conexión: ok\n");                      log.d("servicio", "activado");                 }              } else {             //  txt.append("no encontrado: ok\n");                 log.d("servicio", "activado");                 //this.stopself();             }         }     }       private serviceconnection mconnection=new serviceconnection(){         public void onserviceconnected(componentname classname, ibinder binder){             scan=((scanservice.mybinder)binder).getservice();     toast.maketext(starterservice.this, "corriendo",     toast.length_short).show();         }          public void onservicedisconnected(componentname classname) {             scan= null;          }     };      protected void dobindservice() {  bindservice(new intent(this, scanservice.class), mconnection, context.bind_auto_create);      } } 

here service

public class scanservice extends service {  timer timer = new timer(); edittext txt; wifimanager mwifi; private static final long update_interval = 5000; private final ibinder mbinder = new mybinder(); final string tag = "wificonn:..."; private list<scanresult> sret;   public void oncreate() {     super.oncreate();     timerscan(); }  private void timerscan(){      timer.scheduleatfixedrate(new timertask(){         public void run(){             mwifi = (wifimanager)getsystemservice(context.wifi_service);             mwifi.startscan();  //inicio scan              log.d("service", "inicio scan()");             sret = mwifi.getscanresults();  //resultadosscan          }  },0,update_interval);     toast.maketext(this, "servicio iniciado", toast.length_long).show();     log.i(getclass().getsimplename(),"tiempo iniciado"); }  @override public ibinder onbind(intent arg0) { return mbinder; }  public class mybinder extends binder {     public scanservice getservice(){         return scanservice.this;     } } @override public void ondestroy() {     // todo auto-generated method stub     super.ondestroy();     log.d("servicio", "destruido");     }  public list<scanresult> getwifi(){      return sret; } } 

when debugging error appear on activity:

dobindservice(); sredes=scan.getwifi(); 

my log

03-24 00:24:46.814: e/androidruntime(20798): fatal exception: main 03-24 00:24:46.814: e/androidruntime(20798): process: red1.pe, pid: 20798 03-24 00:24:46.814: e/androidruntime(20798): java.lang.runtimeexception: unable start activity componentinfo{wigo.pe/wigo.pe.starterservice}: java.lang.nullpointerexception 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2209) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2269) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread.access$800(activitythread.java:139) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread$h.handlemessage(activitythread.java:1210) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.os.handler.dispatchmessage(handler.java:102) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.os.looper.loop(looper.java:136) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread.main(activitythread.java:5102) 03-24 00:24:46.814: e/androidruntime(20798):    @ java.lang.reflect.method.invokenative(native method) 03-24 00:24:46.814: e/androidruntime(20798):    @ java.lang.reflect.method.invoke(method.java:515) 03-24 00:24:46.814: e/androidruntime(20798):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:785) 03-24 00:24:46.814: e/androidruntime(20798):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:601) 03-24 00:24:46.814: e/androidruntime(20798):    @ dalvik.system.nativestart.main(native method) 03-24 00:24:46.814: e/androidruntime(20798): caused by: java.lang.nullpointerexception 03-24 00:24:46.814: e/androidruntime(20798):    @ wigo.pe.starterservice.oncreate(starterservice.java:35) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activity.performcreate(activity.java:5248) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1110) 03-24 00:24:46.814: e/androidruntime(20798):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2173) 03-24 00:24:46.814: e/androidruntime(20798):    ... 11 more 

thank much!!!

make constructor scanservice in scanservice class.

public scanservice() {  } 

now initiazlize in activity

scan = new scanservice(); sredes=scan.getwifi(); 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -