如何在更短的时间内获得无线网络?

时间:2014-04-11 06:10:50

标签: android

朋友您好我正在制作一个项目,我正在努力获得我能够获得的无线网络,但显示网络需要花费很多时间。有没有办法很快得到它?

在xml文件中......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >


        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="55dp"
            android:layout_marginTop="57dp"
            android:text="TextView" />

<ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="44dp" >
    </ListView> 

    </RelativeLayout>

在活动类

public class MainActivity extends Activity {


    WifiManager mainWifiObj;
    WifiScanReceiver wifiReciever;
    ListView list;
    String wifis[];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        list = (ListView) findViewById(R.id.listView1);
        mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        wifiReciever = new WifiScanReceiver();
        //mainWifiObj.startScan();
    }

    protected void onPause() {
        unregisterReceiver(wifiReciever);
        super.onPause();
    }

    protected void onResume() {
        registerReceiver(wifiReciever, new IntentFilter(
                WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
        super.onResume();
    }

    class WifiScanReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            // TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "in receiver", Toast.LENGTH_SHORT).show();
            List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
            wifis = new String[wifiScanList.size()];
            for (int i = 0; i < wifiScanList.size(); i++) {
                wifis[i] = ((wifiScanList.get(i)).toString());
            }
            list.setBackgroundColor(Color.BLUE);
            list.setAdapter(new ArrayAdapter<String>(getApplicationContext(),
                    android.R.layout.simple_list_item_1, wifis));
        }
    }

    }

在清单文件中......

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

logcat是......

04-11 11:30:42.248: E/Trace(12823): error opening trace file: No such file or directory (2)
04-11 11:30:42.248: D/ActivityThread(12823): setTargetHeapUtilization:0.25
04-11 11:30:42.248: D/ActivityThread(12823): setTargetHeapIdealFree:8388608
04-11 11:30:42.248: D/ActivityThread(12823): setTargetHeapConcurrentStart:2097152
04-11 11:30:42.539: I/Adreno200-EGL(12823): <qeglDrvAPI_eglInitialize:269>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB_2.3.04.01.01.032.173_msm8960_JB_2.2_RB2.3_CL3273343_release_AU (CL3273343)
04-11 11:30:42.539: I/Adreno200-EGL(12823): Build Date: 04/22/13 Mon
04-11 11:30:42.539: I/Adreno200-EGL(12823): Local Branch: 
04-11 11:30:42.539: I/Adreno200-EGL(12823): Remote Branch: m/jb_2.2_rb2.3
04-11 11:30:42.539: I/Adreno200-EGL(12823): Local Patches: NONE
04-11 11:30:42.539: I/Adreno200-EGL(12823): Reconstruct Branch: AU_LINUX_ANDROID_JB_2.3.04.01.01.032.173 +  NOTHING

0 个答案:

没有答案