Android LocationListener not called -
i'm making app sends present location through sms. location listener method not called. says:
method locationlistener never called
here's code :
public class mainactivity2 extends activity { locationmanager lm; locationlistener locationlistener; private void locationlistener(context context) { lm = (locationmanager) context.getsystemservice(context.location_service); locationlistener = new mylocationlistener(); lm.requestlocationupdates( locationmanager.network_provider, 60000, 1000, locationlistener); } private class mylocationlistener implements locationlistener { @override public void onlocationchanged(location loc) { if (loc != null) { string uri = "http://maps.google.com/maps?saddr=" + loc.getlatitude() + "," + loc.getlongitude(); smsmanager smsmanager = smsmanager.getdefault(); stringbuffer smsbody = new stringbuffer(); smsbody.append(uri); smsmanager.sendtextmessage("+91847690****", null, smsbody.tostring(), null, null); lm.removeupdates(locationlistener); } } public void onproviderdisabled(string provider) { } public void onproviderenabled(string provider) { } public void onstatuschanged(string provider, int status, bundle extras) { } } @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main2); } @override public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.menu_main_activity2, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } }
it looks confusion have created method in mainactivity2 class called locationlistener(). not good, since shouldn't have method same name locationlistener class.
just rename method, , since method part of activity, don't need pass in context:
private void setuplocationlistener() { lm = (locationmanager) this.getsystemservice(context.location_service); locationlistener = new mylocationlistener(); lm.requestlocationupdates( locationmanager.network_provider, 60000, 1000, locationlistener); } then, call method oncreate():
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main2); setuplocationlistener(); }
Comments
Post a Comment