Android顯示wifi信號強度以及周邊信號的代碼

jopen 11年前發布 | 55K 次閱讀 Android Android開發 移動開發

先把activity_main.xml文件代碼貼出來.TextView充滿屏幕

    <LinearLayout 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:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:background="@android:color/white" />  
     -->  
        <TextView  
            android:id="@+id/textView1"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent"  
            android:gravity="center"  
            android:textColor="@android:color/black"  
            android:textSize="25sp" />  

    </LinearLayout>  

AndroidMenifest.xml中,加入兩行,作用:獲取權限

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>  
最后是MainActivity.java中的程序:
    package com.example.wifistrength;  

    import java.util.List;  

    import android.net.wifi.ScanResult;  
    import android.net.wifi.WifiInfo;  
    import android.net.wifi.WifiManager;  
    import android.os.Bundle;  
    import android.app.Activity;  
    import android.content.Context;  
    import android.view.Menu;  
    import android.widget.TextView;  
    import android.widget.Toast;  

    public class MainActivity extends Activity {  

        TextView tv;  

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

            String wserviceName = Context.WIFI_SERVICE;  
            WifiManager wm = (WifiManager) getSystemService(wserviceName);   

            WifiInfo info = wm.getConnectionInfo();     
            int strength = info.getRssi();  
            int speed = info.getLinkSpeed();    
            String units = WifiInfo.LINK_SPEED_UNITS;    
            String ssid = info.getSSID();    

            tv  = (TextView) findViewById(R.id.textView1);  

            List<ScanResult> results = wm.getScanResults();  
            String otherwifi = "The existing network is: \n\n";  

            for (ScanResult result : results) {    
                otherwifi += result.SSID  + ":" + result.level + "\n";  
            }  

            String text = "We are connecting to " + ssid + " at " + String.valueOf(speed) + "   " + String.valueOf(units) + ". Strength : " + strength;  
            otherwifi += "\n\n";  
            otherwifi += text;  

            tv.setText(otherwifi);  

        }  


        @Override  
        public boolean onCreateOptionsMenu(Menu menu) {  
            // Inflate the menu; this adds items to the action bar if it is present.  
            getMenuInflater().inflate(R.menu.main, menu);  
            return true;  
        }  

    }  
結果圖:
20130828215447406.jpeg

來自:http://blog.csdn.net/deng529828/article/details/10456417

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!