我想在连接到一个接入点后锁定WiFi,但是设备会在2到3分钟后切换到另一个网络。这是我的尝试方法。
private static final String TAG = BuildConfig.APPLICATION_ID + ":WAKE_LOCK_TAG";
public MyWifiManager(){
mWifiLock = ((WifiManager) App.getContext().getApplicationContext().getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF ,"MyWifiManager:mWifiLock");
PowerManager powerManager = (PowerManager) App.getContext().getSystemService(App.getContext().POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, TAG)
}
public void acquireWifiLock(){
if (mWifiLock != null && !mWifiLock.isHeld()){
mWifiLock.acquire();
}
}
public void releaseWifiLock() {
if( mWifiLock != null && mWifiLock.isHeld() ){
mWifiLock.release();
}
}
public void acquireWakeLock(){
if (wakeLock != null && !wakeLock.isHeld()){
wakeLock.acquire();
}
}
public void releaseWakeLock() {
if( wakeLock != null && wakeLock.isHeld() ){
wakeLock.release();
}
}
这是我的清单文件。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE " />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />