相关疑难解决方法(0)

Android 6.0中的SCAN_RESULTS_AVAILABLE_ACTION返回空列表

昨天我的Nexus 5收到了Android MNC版本的更新6.0 - Marshmallow.从那时起,扫描设备中可用网络的操作就会停止接收列表,在这种情况下,结果列表的大小为0,即使在Wifi系统设置中列出了10多个Wifi网络.

通常的代码是:SCAN_RESULTS_AVAILABLE_ACTION在Receiver中注册并等待事件,如下所示:

// Register the Receiver in some part os fragment...
getActivity().registerReceiver(wifiListener, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
wifiManager.startScan();

// Inside the receiver:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
List<ScanResult> results = wifiManager.getScanResults();
// the result.size() is 0 after update to Android v6.0, same code working in older devices.
Run Code Online (Sandbox Code Playgroud)

我搜索了有关此主题的API主题的更改,但我没有看到此功能的任何重大更改.

有没有人注意到这个?API中是新的东西还是仅仅是一个孤立的案例?

android android-wifi android-6.0-marshmallow

45
推荐指数
4
解决办法
3万
查看次数

Android - Wifi Direct / p2p 无法在 Android 8 上找到对等点

我开始创建一个 Android 应用程序 wifi Wifi Direct 功能。我做了一个同行发现,我喜欢在列表视图中看到同行。

我现在有一个应用程序,它尝试发现对等点并在列表中显示对等点。

但我面临的问题是这在我的 Android 5 设备上运行良好。在这里,我可以看到我的 Android 8 设备,但反过来却看不到。我在 Android 8 设备上看不到我的 Android 5 设备。

我按照这里的步骤操作:https : //developer.android.com/training/connect-devices-wireless/nsd

还发现了这篇文章:Android O 问题与 WiFi Peer Discovery说我需要在继续之前请求权限。

我的清单:

<uses-permission
    android:required="true"
    android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission
    android:required="true"
    android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
    android:required="true"
    android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission
    android:required="true"
    android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?如果需要解决问题,也许我可以提供更多信息?

android wifi-direct nsd android-8.0-oreo

6
推荐指数
2
解决办法
3294
查看次数