1、AndroidMainfest.xml文件中添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取WIFI信息状态的权限 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取网络状态改变的权限 -->
2、获取wifi的ssid
* 获取当前连接WIFI的SSID
public String getSSID() {
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
if (wm != null) {
WifiInfo winfo = wm.getConnectionInfo();
if (winfo != null) {
String s = winfo.getSSID();
if (s.length() > 2 && s.charAt(0) == '"' && s.charAt(s.length() - 1) == '"') {
return s.substring(1, s.length() - 1);
return "";
3、获取WiFi连接的ip地址
public static InetAddress getWifiIp() {
Context myContext = Globals.getContext();
if (myContext == null) {
throw new NullPointerException("Global context is null");
WifiManager wifiMgr = (WifiManager) myContext.getSystemService(Context.WIFI_SERVICE);
if (isWifiEnabled()) {
int ipAsInt = wifiMgr.getConnectionInfo().getIpAddress();
if (ipAsInt == 0) {
return null;
} else {
return Util.intToInet(ipAsInt);
} else {
return null;
// 取得wifi的ip地址
InetAddress address = FTPServerService.getWifiIp();
address.getHostAddress();
4、判断WiFi是否连接
public static boolean isWifiEnabled() {
Context myContext = Globals.getContext();
if (myContext == null) {
throw new NullPointerException("Global context is null");
WifiManager wifiMgr = (WifiManager) myContext.getSystemService(Context.WIFI_SERVICE);
if (wifiMgr.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
ConnectivityManager connManager = (ConnectivityManager) myContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiInfo = connManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return wifiInfo.isConnected();
} else {
return false;
5、打开wifi设置的页面
Intent intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);
//将获取的int转为真正的ip地址,参考的网上的,修改了下
private String intToInet(int i) {
return (i & 0xFF)+ "." + ((i >> 8 ) & 0xFF)? + "." + ((i >> 16 ) & 0xFF) +"."+((i >> 24 ) & 0xFF );
1、AndroidMainfest.xml文件中添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取WIFI信息状态的权限 --> <uses-permission android:name="android.permission.ACCE...
function checkWifiSignal() {
var info = {ssid:'',bssid:''};
var Context = plus.android.importClass("android.content.Context");
var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
var Ma
Android 9.0获取ssid方法获取权限
获取权限
在Android 9中,应用获取wifi信息需要开启定位权限,并在设备上启用位置服务,下图是官网的描述:
所以我们需要在AndroidManifest.xml中添加如下权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCE
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiIn
四、连接wifi热点
==============
通过 WifiManager.getConfiguredNetworks() 方法会返回 WifiConfiguration 对象的列表,然后再调用 WifiManager.enableNetwork(); 方法就可以连接上指定的热点。
五、查看已经连接上的wifi信息
================
WifiInfo 是专门用来表示连接的对象,这个对象可以通过 WifiManager.getConnectionInfo() 来获
import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import a.
需求:实时获取WIFI状态 给用户一个良好的体验
遇到的问题:首先想到的handler每隔多久请求一次 用到的时候发现了两个问题
1: 每隔一段时间弹出一次对话框这样用户体验会很不好
2: 如果每隔2小时请求一个数据,这样会造成现成的堵塞,及其不好。
实现思路:最后想到了无所不能的四大组件广播(Broadcast)
在Android开发过程中,有时候需要使用获取手机当前连接的WiFi的功能,这样就省去了手动输入WiFi名称的步骤,这种需求一般都是涉及到手机App和硬件设备进行WiFi通讯的时候会用到,那么本篇博文就来分享一下Android手机App自动获取当前手机连接WiFi名称的方法。具体步骤如下所示。
一、给App添加权限
打开项目工程,在AndroidMainfest.xml文件里加入权限:
1、...
public void connectToWiFi(String ssid, String password) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = String.format("\"%s\"", ssid);
wifiConfiguration.preSharedKey = String.format("\"%s\"", password);
int networkId = wifiManager.addNetwork(wifiConfiguration);
wifiManager.disconnect();
wifiManager.enableNetwork(networkId, true);
wifiManager.reconnect();
其中 `ssid` 和 `password` 分别为 WiFi 的名称和密码,使用时只需将其作为参数传入即可。但请注意,该代码只适用于连接密码已知的 WiFi,如果需要连接无密码的 WiFi 或者利用其他认证方式连接 WiFi,还需要进行一些额外的操作。
Android Studio提示Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2
33651