-1
常にWi-Fiをスキャンしてチェックを止めるアプリを作成する方法はありますか?もしそうなら、それは素早くバッテリーを殺しませんか?
Wi-Fiをスキャンしてリストビューにリストする良いリファレンスを誰かに見せてもらえますか?
私はこのAndroid Wi-Fi Tutorialサイトを試しましたが、それは私のためには機能しません。常にWiFiのAndroidをスキャンする
そして、これは私が何をすべきかです:
AndroidSystemは、あなたのブロードキャストレシーバを伝えるNDあなたはonRecieveでstartActivityメソッドを呼び出すとWifiActivityを起動し、スキャン結果を取得し、それを渡す必要がありonRecieveインタフェースを実行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));
}
}
}
API 23を使用していたため、このコードは機能しませんでした。AndroidManifestでは、 を追加する必要がありました。 コードが動作するためには、 –