2
我正在研究應用程序,該應用程序應能檢測到設備周圍的WiFi網絡。我想檢測「始終可用的掃描」是否打開,但我無法找到。我知道這是可能的,因爲谷歌現在,實際上做:檢測WiFi掃描是否始終可用
我正在研究應用程序,該應用程序應能檢測到設備周圍的WiFi網絡。我想檢測「始終可用的掃描」是否打開,但我無法找到。我知道這是可能的,因爲谷歌現在,實際上做:檢測WiFi掃描是否始終可用
可以使用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" />