2017-11-12 6 views
0

Ich versuche, Details über alle verfügbaren WLAN-aber BroadcastReceiver für Scan-Ergebnis nicht aufgerufen werden.Get alle verfügbaren WLAN

Code

Aktivität

wifiStatusActivity extends AppCompatActivity { 

    WifiManager wifi; 
    List<ScanResult> results; 

    /* Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
    if (wifi.isWifiEnabled() == false) { 
     Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled", 
      Toast.LENGTH_LONG).show(); 
     wifi.setWifiEnabled(true); 
    } 
    wifi.startScan(); 
    registerReceiver(new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context c, Intent intent) { 
     log.i("LOG","Scan Complete"); 
     } 
    }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 
    } 

Manifest

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

jede vorschlagen ...!

Antwort

0

Ich finde die Antwort.

1) müssen zwei neue Berechtigung hinzu:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

2) Ich weiß nicht, warum, aber in meinem Testgerät Huawei honor P9 lite Ort aktiv sein muss.

Verwandte Themen