设置Android设备WIFI在休眠时永不断开的代码实现
程序员文章站
2023-02-02 12:16:44
mainactivity如下:
package cc.ab;
import android.os.bundle;
import android.provi...
mainactivity如下:
package cc.ab; import android.os.bundle; import android.provider.settings; import android.app.activity; /** * demo描述: * 设置设备在睡眠期间始终保持wlan开启. * * 参考资料: * 1 http://*.com/questions/8652031/how-to-modify-wi-fi-sleep-policy-programmatically/8655070#8655070 * 2 http://blog.csdn.net/mrlixirong/article/details/24938637 * thank you very much * * 注意事项: * 1 这里使用的是android.provider.settings.system.wifi_sleep_policy * 而不是settings.system.wifi_sleep_policy!!!!!!!!!!!!!!!!!!!!!!! * * 2 权限<uses-permission android:name="android.permission.write_settings"/> * * 3 在实际项目中,这么强制性地设置wifi在休眠时永不断开有些粗鲁了. * 可以先记录下wifi原本的策略,待我们的逻辑完成后再还原回去为好. */ public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); setwifineversleep(); } private void setwifineversleep(){ int wifisleeppolicy=0; wifisleeppolicy=settings.system.getint(getcontentresolver(), android.provider.settings.system.wifi_sleep_policy, settings.system.wifi_sleep_policy_default); system.out.println("---> 修改前的wifi休眠策略值 wifi_sleep_policy="+wifisleeppolicy); settings.system.putint(getcontentresolver(), android.provider.settings.system.wifi_sleep_policy, settings.system.wifi_sleep_policy_never); wifisleeppolicy=settings.system.getint(getcontentresolver(), android.provider.settings.system.wifi_sleep_policy, settings.system.wifi_sleep_policy_default); system.out.println("---> 修改后的wifi休眠策略值 wifi_sleep_policy="+wifisleeppolicy); } } <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </relativelayout>
代码如上,不过在实际项目中,这么强制性地设置wifi在休眠时永不断开有些粗鲁了.
可以先记录下wifi原本的策略,待我们的逻辑完成后再还原回去为好.