Saturday, 15 January 2011

Wi-fi networks not showing up in the Android applicatiojn -



Wi-fi networks not showing up in the Android applicatiojn -

i trying show list of wi-fi networks in vicinity. code have written, gives error, wi-fi turned on in application, , if wi-fi on, application, not launch. logcat below attached code.

edit - new code have written, shown below: code:

package com.example.wifiapplication; import java.util.arraylist; import java.util.hashmap; import java.util.iterator; import java.util.list; import android.app.activity; import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.content.intentfilter; import android.net.wifi.scanresult; import android.net.wifi.wificonfiguration; import android.net.wifi.wificonfiguration.authalgorithm; import android.net.wifi.wificonfiguration.groupcipher; import android.net.wifi.wificonfiguration.keymgmt; import android.net.wifi.wificonfiguration.pairwisecipher; import android.net.wifi.wificonfiguration.protocol; import android.net.wifi.wifimanager; import android.os.bundle; import android.util.log; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.compoundbutton; import android.widget.compoundbutton.oncheckedchangelistener; import android.widget.listview; import android.widget.simpleadapter; import android.widget.switch; import android.widget.textview; import android.widget.toast; public class mainactivity extends activity implements onclicklistener, oncheckedchangelistener{ button search; switch change; listview list; int size=0; list <scanresult> results; arraylist <hashmap<string, string>> arraylist = new arraylist<hashmap<string, string>>(); simpleadapter adapter; wifimanager manage; string item_key = "key"; @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.fragment_main); search = (button) findviewbyid(r.id.bsearch); alter = (switch) findviewbyid(r.id.wifi); list = (listview) findviewbyid(r.id.lv); change.setoncheckedchangelistener(this); search.setonclicklistener(this); manage = (wifimanager) getsystemservice(context.wifi_service); change.setchecked(manage.iswifienabled()); } @override public void onclick(view arg0) { // todo auto-generated method stub wificonfiguration config = new wificonfiguration(); arraylist.clear(); if(manage.startscan()){ toast.maketext(this, "scanning...." + size, toast.length_short).show(); seek { size = size - 1; while (size >= 0) { hashmap<string, string> item = new hashmap<string, string>(); item.put(item_key, results.get(size).ssid + " " + results.get(size).capabilities); arraylist.add(item); size--; adapter.notifydatasetchanged(); } } grab (exception e) { } } } @override public void oncheckedchanged(compoundbutton arg0, boolean arg1) { if(arg1==true) { manage.setwifienabled(true); //search.settext("start searching"); this.adapter = new simpleadapter(mainactivity.this, arraylist, r.layout.row, new string[] { item_key }, new int[] { r.id.list_value }); list.setadapter(adapter); registerreceiver(new broadcastreceiver(){ @override public void onreceive(context arg0, intent arg1) { // todo auto-generated method stub results = manage.getscanresults(); size = results.size(); } }, new intentfilter(wifimanager.scan_results_available_action)); //search available wi-fi networks; } else{ toast.maketext(getapplicationcontext(), "wi-fi disabled", toast.length_long).show();; manage.setwifienabled(false); search.settext("turn on wi-fi"); } } // todo auto-generated method stub }

logcat:

06-23 10:04:18.200: e/androidruntime(1173): fatal exception: main 06-23 10:04:18.200: e/androidruntime(1173): process: com.example.wifiapplication, pid: 1173 06-23 10:04:18.200: e/androidruntime(1173): java.lang.nullpointerexception 06-23 10:04:18.200: e/androidruntime(1173): @ com.example.wifiapplication.mainactivity.oncheckedchanged(mainactivity.java:94) 06-23 10:04:18.200: e/androidruntime(1173): @ android.widget.compoundbutton.setchecked(compoundbutton.java:127) 06-23 10:04:18.200: e/androidruntime(1173): @ android.widget.switch.setchecked(switch.java:666) 06-23 10:04:18.200: e/androidruntime(1173): @ android.widget.compoundbutton.toggle(compoundbutton.java:87) 06-23 10:04:18.200: e/androidruntime(1173): @ android.widget.compoundbutton.performclick(compoundbutton.java:99) 06-23 10:04:18.200: e/androidruntime(1173): @ android.view.view$performclick.run(view.java:18422) 06-23 10:04:18.200: e/androidruntime(1173): @ android.os.handler.handlecallback(handler.java:733) 06-23 10:04:18.200: e/androidruntime(1173): @ android.os.handler.dispatchmessage(handler.java:95) 06-23 10:04:18.200: e/androidruntime(1173): @ android.os.looper.loop(looper.java:136) 06-23 10:04:18.200: e/androidruntime(1173): @ android.app.activitythread.main(activitythread.java:5017) 06-23 10:04:18.200: e/androidruntime(1173): @ java.lang.reflect.method.invokenative(native method) 06-23 10:04:18.200: e/androidruntime(1173): @ java.lang.reflect.method.invoke(method.java:515) 06-23 10:04:18.200: e/androidruntime(1173): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 06-23 10:04:18.200: e/androidruntime(1173): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 06-23 10:04:18.200: e/androidruntime(1173): @ dalvik.system.nativestart.main(native method)

can please help me out, erring, , can done solve issue out ?

the result of scanning not synchronous. have register broadcastreceiver hear intent action wifimanager.scan_results_available_action , then, show results, use:

list <scanresult> results = manage.getscanresults();

android android-wifi

No comments:

Post a Comment