android wifi 获取 getBssiD - Go语言中文社区

android wifi 获取 getBssiD


1.现获取wifi管理器 以下是我测试的代码
实现了 获取到bssid 这个是感觉是wifi 唯一值,测试了几个wifi 连接同一个wifi的值是一样的

public class MainActivity extends AppCompatActivity {
    public String TAG = "yangdepeng";
    public TextView mTextView;

    private WifiManager mWifiManager;// wifi 管理器
    private WifiInfo mWifiInfo;//wifi详情信息

    @SuppressLint({"HardwareIds", "SetTextI18n"})
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextView = findViewById(R.id.mTextView);


        //获取管理器
        mWifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
        //判断是否wifi打开
        assert mWifiManager != null;//java 8 及以上特有的判断方式
        Log.e(TAG, "isWifiEnabled = " + mWifiManager.isWifiEnabled());
        //
        Log.e(TAG, "getWifiState = " + mWifiManager.getWifiState());
        //获取相关的wifi信息
         mWifiInfo = mWifiManager.getConnectionInfo();
        Log.e(TAG, "getConnectionInfo = " + mWifiInfo.toString());
        //wifi名称
        Log.e(TAG, "getSSID = " + mWifiInfo.getSSID());
        //wifi 获取BSSID地址。
        Log.e(TAG, "getBSSID = " + mWifiInfo.getBSSID());
        //NetworkId 获取网络ID。
        Log.e(TAG, "getNetworkId = " + mWifiInfo.getNetworkId());
        //getMacAddress  MAC地址
        Log.e(TAG, "getMacAddress = " + mWifiInfo.getMacAddress());
        //获取IP地址.4字节Int,XXX.XXX.XXX.XXX每个XXX为一个字节  1862314176
        Log.e(TAG, "getIpAddress = " + mWifiInfo.getIpAddress());
        //获取ssid 8.0至9.0 方法 获取的是名称
        ConnectivityManager ctm = (ConnectivityManager) this.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        assert ctm != null;
        NetworkInfo networkInfo = ctm.getActiveNetworkInfo();
        assert networkInfo != null;
        String ssid = networkInfo.getExtraInfo();
        Log.e(TAG, "ConnectivityManager ssid = " + ssid);

    }
    @SuppressLint("SetTextI18n")
    @Override
    protected void onResume() {
        super.onResume();
        //输出数据,需要获取
        mWifiInfo = mWifiManager.getConnectionInfo();
        mTextView.setText("mWifiInfo.getBSSID() = "+mWifiInfo.getBSSID());
    }
}

以下是权限在8.0以上gps定位权限必须开,不然会出现bssid出现不了情况,以下情况这个我就没了解了,开了就没问题了9.0手机也测试过了

在这里插入图片描述

    <!--联网-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 网络配置-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 获取WIFI信息状态的权限 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--网络状态改变权限-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!-- 8.0以上 wifi获取Bssid问题  定位权限-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!--  -->
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

就以上这些代码了我另外给你打包了Apk你们可以下载测试一下,为期为半年下时间从今天起,另外demo我也上传
在这里插入图片描述
demo地址:可在我的资源中找到 (南极的松树),不用看了资源下载要五分不建议下载,直接邮件联系发你们,无语到一个简单demo定义居然要五分下载,差评的算法

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yangdep/article/details/91806721
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢