Wifi Direct P2P not working on Android 10+ devices, Unable to discover devices

Viewed 580

Hi I am working on devices in which I need to connect devices using Wi-fi Direct. My code is working on all devices but discovery is failing all the time for Android 10+ devices.

I am asking for required permissions implicitly as well as explicitly.

in manifest I am asking these permissions.

        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" />

I am asking these permissions explicitly as well.

Here is my code which I am trying [Working for all devices below 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");
            }
        });
    } 
1 Answers

on Android 10+ devices,you should open the location or the discovery will fail

Related