WifiP2pManager.discoverPeers 在 android 10 中失败

J.M*_*uka 5 android wifip2p peer-discovery android-10.0

以下代码示例返回Error code: 0,这是android中内部错误的错误代码。是否有任何解决方法可以在 Android 10 设备中发现对等点?

                wifip2pmanager.discoverPeers(wifip2pmanagerChannel, new WifiP2pManager.ActionListener() {
                @Override
                public void onSuccess() {
                    status.setText("Peer Discovery Started");
                }

                @Override
                public void onFailure(int reason) {

                    status.setText("Error code:" + reason);
                }
            });
Run Code Online (Sandbox Code Playgroud)

luk*_*gts 8

完全一样的事情发生在我身上...

ACCESS_FINE_LOCATION并且还ACCESS_COARSE_LOCATION不够。用户必须明确激活定位服务!(就我而言,打开位置解决了问题......)

这意味着:您可以在设置中手动激活位置,或者向用户发出可用性友好的请求以激活位置服务(看起来类似于权限请求窗口;请参阅谷歌地图)

有关后者的示例代码,请参阅此问题。希望这可以帮助!

编辑:如果您搜索不涉及任何 Google 库的 anwser,请参阅此问题的 anwser 。


小智 2

除了列表中的语句外,还需要动态申请该权限。