0
wifi APをスキャンし、リストビューでSSID、BSSID、Signal Strengthなどの簡単なAndroidアプリケーションを作成しようとしています。Androidアプリケーションでwifi apsをスキャンしてリストビューで表示する
これはあまりにも難しい作業ではないかもしれませんが、私はAndroid開発には非常に新しいので問題があります。
私はこれらの基本的な作業を行うコードを書いています。しかし、どういうわけかそれは結果を表示しません。エラーも表示されません。それを修正して機能させるのを助けてくれますか?
public class MainActivity extends AppCompatActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener{
// Declare View variables
private Button mRefreshButton;
private Switch mWifiSwitch;
private ListView mAPListView;
private List<ScanResult> mWifiList;
private List<String> mListOfProviders;
private ListAdapter mAdapter;
private WifiManager mWifiManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListOfProviders = new ArrayList<String>();
mAPListView = (ListView) findViewById(R.id.APListView);
mRefreshButton = (Button) findViewById(R.id.refreshButton);
mWifiSwitch = (Switch) findViewById(R.id.WiFiSwitch);
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
boolean wasEnabled = mWifiManager.isWifiEnabled();
if (wasEnabled){
mWifiSwitch.setChecked(true);
}
mWifiSwitch.setOnCheckedChangeListener(this);
mWifiManager.startScan();
mWifiList = mWifiManager.getScanResults();
for (ScanResult result : mWifiList) {
mListOfProviders.add(result.SSID); //This will add the SSID of the connection
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, mListOfProviders);
mAPListView.setAdapter(adapter);
}
@Override
public void onClick(View view)
{
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
mWifiManager.setWifiEnabled(true);
}
else {
mWifiManager.setWifiEnabled(false);
}
}
}
すでに行っています。権限の問題以外に何か間違ったことがありますか?私は考えていない..あなたの助けをありがとう! – Jaeyong
おそらく、あなたはstartScan()を削除することができます。私はstartScanなしでscanResultsを得ることができます。または、startScan()を呼び出した後に遅延を追加することもできます。 – ekilic
実際には許可の問題でした。私は現在マーシュ・マロー・バージョンを使用しています。 wifi信号の結果を得ることに関連する問題があることを知りました。このバージョンからは、Wi-Fiアクセス許可だけでなく、ロケーション許可も必要です。ご協力ありがとうございました! – Jaeyong