检测 WiFi 扫描是否始终可用
Detect if WiFi Scanning always available is on
我正在开发一个应用程序,它应该可以检测设备周围的 wifi 网络。我想检测 "Scanning always available" 是否打开,但我找不到方法。我知道这是可能的,因为 Google 现在,实际上是:
您可以使用 isScanAlwaysAvailable() method in WifiManager.
我刚刚在 Android 4.4 上测试了这个,它有效。
要查询状态,并在禁用时显示提示,请使用此代码(我将其放在 onCreate()
中):
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (Build.VERSION.SDK_INT >= 18 ) {
if (wifiManager.isScanAlwaysAvailable()) {
Toast.makeText(this, "Scan always available is on", Toast.LENGTH_SHORT).show();
}
else{
startActivityForResult(new Intent(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE), 100);
}
}
else{
//Not supported
}
然后,使用此代码捕获用户在提示中做出的决定(在禁用的情况下):
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
if (requestCode == 100) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "User enabled Scan always available", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "User did not enable Scan always available", Toast.LENGTH_SHORT).show();
}
}
}
请注意,您在 AndroidManifest.xml:
中也需要此权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
我正在开发一个应用程序,它应该可以检测设备周围的 wifi 网络。我想检测 "Scanning always available" 是否打开,但我找不到方法。我知道这是可能的,因为 Google 现在,实际上是:
您可以使用 isScanAlwaysAvailable() method in WifiManager.
我刚刚在 Android 4.4 上测试了这个,它有效。
要查询状态,并在禁用时显示提示,请使用此代码(我将其放在 onCreate()
中):
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (Build.VERSION.SDK_INT >= 18 ) {
if (wifiManager.isScanAlwaysAvailable()) {
Toast.makeText(this, "Scan always available is on", Toast.LENGTH_SHORT).show();
}
else{
startActivityForResult(new Intent(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE), 100);
}
}
else{
//Not supported
}
然后,使用此代码捕获用户在提示中做出的决定(在禁用的情况下):
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
if (requestCode == 100) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "User enabled Scan always available", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "User did not enable Scan always available", Toast.LENGTH_SHORT).show();
}
}
}
请注意,您在 AndroidManifest.xml:
中也需要此权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />