Gibt es eine Möglichkeit, eine App zu erstellen, die immer Wifi scannt und nie aufhört zu überprüfen. Wenn ja, tötet es die Batterie nicht schnell?
Kann mir jemand eine gute Referenz zeigen, die nach WLAN sucht und sie in einer Listenansicht auflistet?
Ich habe versucht, diese Android Wi-Fi Tutorial Website, aber es funktioniert nicht für mich.Immer nach WiFi suchen Android
Und das ist, was ich tue:
package com.example.amire.yadavar;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.List;
public class MainActivity extends Activity {
private ListView lv;
private WifiManager wifi;
private WifiScanReceiver wifiReciever;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.listView);
wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
wifiReciever = new WifiScanReceiver();
wifi.startScan();
}
protected void onPause() {
unregisterReceiver(wifiReciever);
super.onPause();
}
protected void onResume() {
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
private class WifiScanReceiver extends BroadcastReceiver{
public void onReceive(Context c, Intent intent) {
List<ScanResult> wifiScanList = wifi.getScanResults();
String[] wifis = new String[wifiScanList.size()];
for(int i = 0; i < wifiScanList.size(); i++){
wifis[i] = ((wifiScanList.get(i)).toString());
}
lv.setAdapter(new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_list_item_1, wifis));
}
}
}
ich meine Antwort gefunden hatte, dieser Code nicht funktioniert, weil ich API 23 verwendet wurde und in AndroidManifest ich hinzufügen, musste damit der Code funktioniert –