WifiMonotor.java
来源:互联网 发布:网络视讯赌博真假 编辑:程序博客网 时间:2024/06/10 01:22
package com.zimperium.zanti;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.IntentFilter;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;import android.net.wifi.WifiManager;import android.os.Bundle;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Timer;import java.util.TimerTask;public class WifiMonitor extends al { private static final ArrayList h = new ArrayList(Arrays.asList(new Integer[]{Integer.valueOf(0), Integer.valueOf(2412), Integer.valueOf(2417), Integer.valueOf(2422), Integer.valueOf(2427), Integer.valueOf(2432), Integer.valueOf(2437), Integer.valueOf(2442), Integer.valueOf(2447), Integer.valueOf(2452), Integer.valueOf(2457), Integer.valueOf(2462), Integer.valueOf(2467), Integer.valueOf(2472), Integer.valueOf(2484)})); WifiManager a; Timer b; TimerTask c; bz d; ArrayList e = new ArrayList(); ListView f; private BroadcastReceiver g = new br(this); public void a() { for (int i = 0; i < this.e.size(); i++) { bv bvVar = (bv) this.e.get(i); bvVar.b = 0; this.e.set(i, bvVar); } } public void a(String str, String str2, int i, String str3, int i2) { bv bvVar; bv bvVar2 = new bv(); int i3 = 0; while (i3 < this.e.size()) { bvVar = (bv) this.e.get(i3); if (str2.equalsIgnoreCase(bvVar.f)) { break; } i3++; } i3 = -1; bvVar = bvVar2; int i4 = R.drawable.wifi_monitor_flag_red; if (str3.contains("WPA") || str3.contains("WEP")) { i4 = R.drawable.wifi_monitor_flag_green; } bvVar.g = i4; bvVar.a = str3; bvVar.c = str; bvVar.f = str2; bvVar.e = i2; bvVar.b = i; if (str3.contains("WPA2")) { bvVar.d = "WPA2"; } else if (str3.contains("WPA")) { bvVar.d = "WPA"; } else if (str3.contains("WEP")) { bvVar.d = "WEP"; } else { bvVar.d = "OPEN"; } if (i3 == -1) { this.e.add(bvVar); } else { this.e.set(i3, bvVar); } } public static int a(int i) { return h.indexOf(Integer.valueOf(i)); } public void b() { try { a(); List<ScanResult> scanResults = this.a.getScanResults(); if (scanResults != null) { for (ScanResult scanResult : scanResults) { a(scanResult.SSID, scanResult.BSSID, WifiManager.calculateSignalLevel(scanResult.level, 46), scanResult.capabilities, scanResult.frequency); } this.d.notifyDataSetChanged(); } } catch (Exception e) { e.printStackTrace(); } } public void onResume() { super.onResume(); try { this.b.schedule(this.c, 0, 500); } catch (Exception e) { } registerReceiver(this.g, new IntentFilter("android.net.wifi.SCAN_RESULTS")); b(); } public void finish() { this.b.cancel(); super.finish(); } public void onPause() { super.onPause(); unregisterReceiver(this.g); } public void onCreate(Bundle bundle) { super.onCreate(bundle); getWindow().addFlags(128); setContentView((int) R.layout.wifimon_list); this.f = (ListView) findViewById(R.id.listview); af.a((Activity) this, (int) R.string.wifi_networks, false); ((TextView) findViewById(R.id.header)).setText(R.string.available_networks); this.d = new bz(this, this, this.e); this.f.setAdapter(this.d); this.a = (WifiManager) getSystemService("wifi"); LinearLayout linearLayout = (LinearLayout) findViewById(R.id.wifi_disabled); this.b = new Timer(true); this.c = new bs(this, linearLayout); } void a(WifiManager wifiManager, WifiConfiguration wifiConfiguration, String str, String str2, String str3, String str4) { boolean z; if (str3.contains("WPA")) { wifiConfiguration.preSharedKey = "\"" + str4 + "\""; } else if (str3.contains("WEP")) { wifiConfiguration.wepKeys[0] = "\"" + str4 + "\""; wifiConfiguration.wepTxKeyIndex = 0; wifiConfiguration.allowedKeyManagement.set(0); wifiConfiguration.allowedGroupCiphers.set(0); } else { wifiConfiguration.allowedKeyManagement.set(0); wifiConfiguration.allowedGroupCiphers.set(2); wifiConfiguration.allowedAuthAlgorithms.set(0); wifiConfiguration.allowedKeyManagement.set(0); } int addNetwork = wifiManager.addNetwork(wifiConfiguration); for (WifiConfiguration wifiConfiguration2 : wifiManager.getConfiguredNetworks()) { if (wifiConfiguration2.SSID != null && wifiConfiguration2.SSID.equals("\"" + str + "\"") && str2.equals(wifiConfiguration2.BSSID)) { wifiManager.disconnect(); wifiManager.enableNetwork(wifiConfiguration2.networkId, true); wifiManager.reconnect(); z = true; break; } } z = false; if (!z) { wifiManager.disconnect(); wifiManager.enableNetwork(addNetwork, true); wifiManager.reconnect(); } finish(); }}
阅读全文
0 0
- WifiMonotor.java
- java
- JAVA
- JAVA
- JAVA
- java
- Java
- Java
- JAVA:
- java
- java
- java
- java
- Java
- java
- java
- java
- JAVA?
- 1.编译openjdk1.8源码
- Android夜间模式的切换
- 线程池的理解及使用
- redis入门——散列类型(hash)
- spring boot(11)-druid监控
- WifiMonotor.java
- centos 找回密码
- 关于本博客
- spring boot(12)-数据源配置原理
- css3 transition 动画基础
- 计蒜客 Frequent Subsets Problem&&2017 Icpc南宁赛
- spring boot(13)-logback和access日志
- linux中awk进行日志文本的处理过滤
- JDBC获取数据表字段名、注释等信息