java - Show Toast if no results were found -
quickly trying do. creating script scans looks wi-fi connection. if finds it, returns startingactivity string.
but how make display toast if scanned connections , didn't found right one. because right now, sits there , nothing. , have explain user found nothing.
button btnhit; textview txtjson; string urlfinal; string fssid; intent intent; private static final string tag = "my activity"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_find_connection); btnhit = (button) findviewbyid(r.id.request); txtjson = (textview) findviewbyid(r.id.results); if (build.version.sdk_int > 22) { final string coarselocation = manifest.permission.access_coarse_location; final string accesswifi = manifest.permission.access_wifi_state; final string changewifi = manifest.permission.change_wifi_state; if (checkselfpermission(coarselocation) != packagemanager.permission_granted) { requestpermissions(new string[]{manifest.permission.access_coarse_location, manifest.permission.access_fine_location}, 123); } if (checkselfpermission(accesswifi) != packagemanager.permission_granted) { requestpermissions(new string[]{manifest.permission.access_wifi_state, manifest.permission.access_wifi_state}, 123); } if (checkselfpermission(changewifi) != packagemanager.permission_granted) { requestpermissions(new string[]{manifest.permission.change_wifi_state, manifest.permission.change_wifi_state}, 123); } } locationmanager lman = (locationmanager) getapplicationcontext().getsystemservice(context.location_service); boolean network_enabled = false; try { network_enabled = lman.isproviderenabled(locationmanager.network_provider); } catch (exception ex) {} if (!network_enabled) { startactivityforresult(new intent(android.provider.settings.action_location_source_settings), 0); } btnhit.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { final wifimanager mwifimanager = (wifimanager) getsystemservice(wifi_service); mwifimanager.setwifienabled(true); intentfilter filter = new intentfilter(); filter.addaction(wifimanager.scan_results_available_action); registerreceiver(new broadcastreceiver() { @override public void onreceive(context context, intent intent) { list<scanresult> results = mwifimanager.getscanresults(); final int amount = results.size(); int num = 0; while (num < amount) { log.v(tag, "ssid = " + results.get(num).ssid); num = num+1; } int dis = 0; string res = "results:\n\n\n"; while (dis < amount) { res = res + results.get(dis).ssid + "\n\n"; new jsontask().execute(results.get(dis).ssid); dis = dis+1; } } }, filter); mwifimanager.startscan(); } }); } private class jsontask extends asynctask<string, string, string> { progressdialog pd; protected void onpreexecute() { super.onpreexecute(); pd = new progressdialog(findconnection.this); pd.setmessage("please wait..."); pd.setcancelable(false); pd.show(); } protected string doinbackground(string... params) { httpurlconnection connection = null; bufferedreader reader = null; try { fssid = params[0]; urlfinal = "http://myurl?ssid=" + fssid; url url = new url(urlfinal); connection = (httpurlconnection) url.openconnection(); connection.connect(); inputstream stream = connection.getinputstream(); reader = new bufferedreader(new inputstreamreader(stream)); stringbuffer buffer = new stringbuffer(); string line = ""; while ((line = reader.readline()) != null) { buffer.append(line+"\n"); if (!line.equals("null")) { string networkssid = fssid; string networkpass = line; wificonfiguration config = new wificonfiguration(); config.ssid = "\"" + networkssid + "\""; config.presharedkey = "\"" + networkpass + "\""; wifimanager wifiman = (wifimanager) getapplicationcontext().getsystemservice(wifi_service); wifiman.addnetwork(config); list<wificonfiguration> list = wifiman.getconfigurednetworks(); ( wificonfiguration : list ) { if (i.ssid != null && i.ssid.equals("\"" + networkssid + "\"")) { wifiman.disconnect(); wifiman.enablenetwork(i.networkid, true); wifiman.reconnect(); break; } intent intent1 = new intent(findconnection.this, startingpage.class); intent1.putextra("ssid_name", fssid); startactivity(intent1); } } } return buffer.tostring(); } catch (malformedurlexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } { if (connection != null) { connection.disconnect(); } try { if (reader != null) { reader.close(); } } catch (ioexception e) { e.printstacktrace(); } } return null; } @override protected void onpostexecute(string result) { super.onpostexecute(result); if (pd.isshowing()){ pd.dismiss(); } } }
update:
my best guess how set timer , if sits there 5 seconds display toast (that means hasn't changed activity, found no results). feel not best way it.
show toast after following line, if results.size 0 (0).
final int amount = results.size();
that suffice. [i not sure if can throw toast broadcast receiver. have barely worked them.]
cheers!
Comments
Post a Comment