0
私はScanResult
のリストを取得しようとしていますが、成功することはありません。ここに添付Androidで利用できるWIFIネットワークの一覧を表示
は私のコードです:
public class listenerActivity extends AppCompatActivity {
String netSsid;
ListView groups;
EditText filter;
WifiManager wifi;
String wifis[];
WifiScanReceiver wifiReciever;
Button refreshGroups;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listener);
groups = (ListView) findViewById(R.id.listView);
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled() == false){
Toast.makeText(getApplicationContext(), "wifi is disabled. making it enabled", Toast.LENGTH_LONG).show();
wifi.setWifiEnabled(true);
}
wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifi.startScan();
}
private class WifiScanReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
List<ScanResult> wifiScanList = wifi.getScanResults();
wifis = new String[wifiScanList.size()];
for(int i = 0; i < wifiScanList.size(); i++) {
wifis[i] = wifiScanList.get(i).toString();
}
groups.setAdapter(new ArrayAdapter<String>(getApplicationContext(), R.layout.adapte_layout, (wifiScanList.size() > 0 ? wifis : new String[]{"No net available"})));
}
}
そして、ここに私のmanifest.xml(権限の一部)で:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
これは動作しません。
私はあなたの助けを非常にうれしく思います(そして、私の英語はすみません)。 ありがとうございます!
問題は何ですか?何も返さないだけですか?もっと明示してください。あなたは期待どおりに動くはずの視点から何を検証しましたか? – JoxTraex