buttonScan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//获取精确位置的权限属于危险权限,android 5.0系统之后需要添加运行时权限
//ACCESS_FINE_LOCATION
//首先检查权限有没有被授权
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_DENIED){
//申请权限
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);
}else{//已经被授权
scanWifi();
}
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode==1){
if(grantResults!=null && grantResults[0]==PackageManager.PERMISSION_GRANTED){//代表用户已经授权
scanWifi();
}else{
Toast.makeText(MainActivity.this,"拒绝",Toast.LENGTH_SHORT).show();
}
}
}
private void scanWifi() {
WifiManager manager =(WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
//开始扫描
manager.startScan();
//得到扫描的结果
List<ScanResult> scanResults = manager.getScanResults();
List<String> wifis=new ArrayList<>();
if(scanResults!=null){//发现wifi网络
for(int i=0;i<scanResults.size();i++){
wifis.add(scanResults.get(i).SSID);//ssid代表当前wifi的名称
}
//设置适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,wifis);
listView.setAdapter(adapter);
}else{
Toast.makeText(MainActivity.this,"未扫描到wifi",Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onClick(View view) {
//获取精确位置的权限属于危险权限,android 5.0系统之后需要添加运行时权限
//ACCESS_FINE_LOCATION
//首先检查权限有没有被授权
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_DENIED){
//申请权限
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);
}else{//已经被授权
scanWifi();
}
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode==1){
if(grantResults!=null && grantResults[0]==PackageManager.PERMISSION_GRANTED){//代表用户已经授权
scanWifi();
}else{
Toast.makeText(MainActivity.this,"拒绝",Toast.LENGTH_SHORT).show();
}
}
}
private void scanWifi() {
WifiManager manager =(WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
//开始扫描
manager.startScan();
//得到扫描的结果
List<ScanResult> scanResults = manager.getScanResults();
List<String> wifis=new ArrayList<>();
if(scanResults!=null){//发现wifi网络
for(int i=0;i<scanResults.size();i++){
wifis.add(scanResults.get(i).SSID);//ssid代表当前wifi的名称
}
//设置适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,wifis);
listView.setAdapter(adapter);
}else{
Toast.makeText(MainActivity.this,"未扫描到wifi",Toast.LENGTH_SHORT).show();
}
}
}