小编Ant*_*nio的帖子

在Android 8 Oreo的WifiManager中,STARTcan方法没有收到任何响应

根据官方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)

android wifimanager android-8.0-oreo

5
推荐指数
1
解决办法
1014
查看次数

标签 统计

android ×1

android-8.0-oreo ×1

wifimanager ×1