2017-11-12 3 views
0

利用可能なすべての無線LANについての詳細を取得しようとしますが、BroadcastReceiverのスキャン結果は呼び出されません。利用可能なすべてのWiFiを取得

コード

活動

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)); 
    } 

マニフェスト

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

任意の...お勧め!

答えて

0

回答が見つかりました。私はなぜ知らないが、私のテストデバイスにHuawei honor P9 lite場所をアクティブにする必要があります)

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

2:

1)は、二つの新しい権限を追加する必要があります。

関連する問題