根据官方Android文档,WifiManager中的方法startScan在API级别P中已被弃用.但是我试图在API级别26(P之前)中使用此方法,但没有成功.如果用户同意所需的权限,我已经开发了一个需要扫描WiFi网络的应用程序,这种行为对于应用程序的适当运行至关重要.但是,在调用startScan方法时,我没有收到任何响应.¿任何人都可以帮我解决这个问题或找到替代解决方案吗?
这是文档的链接. https://developer.android.com/reference/android/net/wifi/WifiManager.html#startScan()
干杯
编辑:
这是启动de scannig进程的代码:
public boolean startScan() {
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (!wm.isWifiEnabled()) {
try {
wm.setWifiEnabled(true);
} catch (SecurityException e) {
Log.w(LOG_TAG, "Error enabling wifi", e);
return false;
}
}
boolean started = wm.startScan();
Log.d(LOG_TAG, "Scan started? " + started);
return started;
}
Run Code Online (Sandbox Code Playgroud)
这是接收扫描结果的BroadcastReceiver.除了在带有targetSdkVersion 26+的Android 8中,它才有效
public class InOutWifiScanResultsReceiver extends BroadcastReceiver {
private static final String LOG_TAG = "ScanResults";
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent); // Never called in …Run Code Online (Sandbox Code Playgroud)