Android周辺WIFIホットスポット取得
実際の開発では常に周囲のWiFiのホットスポットを手に入れる必要がありますが、最近私もこのdemoを作って、みんなと一緒に分かち合いましょう.基本的には、まずWifiMangerがWiFiサービスを取得し、結果をArrayListに格納します.では、具体的な内容はコードを直接見ることができます.
MainActivity.java:
レイアウトファイルactivity_main.xml:
はい、そうですね.
MainActivity.java:
public class MainActivity extends AppCompatActivity {
ArrayList<ScanResult> list; // wifi
WifiManager wifiManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); // wifi
list = (ArrayList<ScanResult>)wifiManager.getScanResults();
sortByLevel(list);
init();
}
private void init(){
TextView tv1=(TextView)findViewById(R.id.tv1);
TextView tv2=(TextView)findViewById(R.id.tv2);
TextView tv3=(TextView)findViewById(R.id.tv3);
if (list.get(0).SSID != null && list.get(1).SSID != null){
tv1.setText(" "+list.get(0).SSID);
tv2.setText(" :"+list.get(1).SSID);
tv3.setText(" "+list.size()+" wifi");
}
}
// wifi
private void sortByLevel(ArrayList<ScanResult> list) {
for(int i=0;i<list.size();i++)
for(int j=1;j<list.size();j++)
{
if(list.get(i).level<list.get(j).level) //level
{
ScanResult temp = null;
temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
}
レイアウトファイルactivity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
はい、そうですね.