【发布时间】:2020-12-13 06:21:09
【问题描述】:
您好,我正在开发需要使用 Wi-fi Direct 连接设备的设备。我的代码在所有设备上都有效,但对于 Android 10+ 设备,发现一直失败。
我隐式和显式地请求所需的权限。
在清单中我要求这些权限。
android:name="android.permission.ACCESS_FINE_LOCATION"
android:required="true" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"
android:required="true" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
android:required="true" />
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"
android:required="true" />
我也明确要求这些权限。
这是我正在尝试的代码 [适用于 Android 10+ 以下的所有设备]
private void discoverWifi() {
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
return;
}
wifiP2pManager.discoverPeers(wifiChannel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
connectionStatus.setText("Discover Start");
}
@Override
public void onFailure(int i) {
connectionStatus.setText("Discover not Start");
}
});
}
【问题讨论】:
-
有人可以帮忙吗?
-
你在
onFailure里面得到了什么错误代码? -
我在模拟器的 onFailure 中收到错误代码 2。
-
有人请吗??
-
错误代码2对应
WifiP2pManager .BUSY。我很确定,模拟器不支持 P2P。你有真实的设备来测试吗?
标签: android android-10.0 wifi-direct wifip2p android-11