设置Android设备WIFI在休眠时永不断开的代码实现

 更新时间:2014年07月24日 10:47:51   投稿:hebedich  
这篇文章主要介绍了设置Android设备WIFI在休眠时永不断开的代码实现,需要的朋友可以参考下

MainActivity如下:

package cc.ab;

import android.os.Bundle;
import android.provider.Settings;
import android.app.Activity;
/**
 * Demo描述:
 * 设置设备在睡眠期间始终保持WLAN开启.
 * 
 * 参考资料:
 * 1 http://stackoverflow.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原本的策略,待我们的逻辑完成后再还原回去为好.

相关文章

  • Android中EditText显示明文与密码的两种方式

    Android中EditText显示明文与密码的两种方式

    这篇文章主要介绍了Android中EditText显示明文与密码的两种方式,非常不错,具有参考借鉴价值,需要的盆友一起学习吧
    2016-08-08
  • Android编程实现两个Activity之间共享数据及互相访问的方法

    Android编程实现两个Activity之间共享数据及互相访问的方法

    这篇文章主要介绍了Android编程实现两个Activity之间共享数据及互相访问的方法,简单分析了Android中Activity数据共享与访问的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • React Native与Android 原生通信的方法

    React Native与Android 原生通信的方法

    本篇文章主要介绍了React Native与Android 原生通信的方法,主要是分享原生模块与JS传递数据的几种方式,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • 详解Andorid开发中反射机制是怎么一回事

    详解Andorid开发中反射机制是怎么一回事

    反射机制是在运行状态中,对于任何一个类,都可以知道这个类的所有属性和方法,对于任何一个对象,都可以调用它所有的方法和属性,修改部分类型信息,这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制
    2022-11-11
  • Android利用ViewPager实现带小圆球的图片滑动

    Android利用ViewPager实现带小圆球的图片滑动

    这篇文章主要为大家详细介绍了Android利用ViewPager实现带小圆球的图片滑动,并且只有第一次安装app时才出现欢迎界面具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android开发中Intent.Action各种常见的作用汇总

    Android开发中Intent.Action各种常见的作用汇总

    今天小编就为大家分享一篇关于Android开发中Intent.Action各种常见的作用汇总,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Android挂断电话最新实现方法

    Android挂断电话最新实现方法

    大家好,本篇文章主要讲的是Android挂断电话最新实现方法,感兴趣的同学感快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Flutter学习之构建、布局及绘制三部曲

    Flutter学习之构建、布局及绘制三部曲

    这篇文章主要给大家介绍了关于Flutter学习之构建、布局及绘制三部曲的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android获取手机号码和运营商信息的方法

    Android获取手机号码和运营商信息的方法

    这篇文章主要介绍了Android获取手机号码和运营商信息的方法,以实例形式完整讲述了获取手机号码和运营商信息的技巧,代码中包含完整的注释说明,需要的朋友可以参考下
    2015-01-01
  • Android实现屏幕截图并保存截图到指定文件

    Android实现屏幕截图并保存截图到指定文件

    这篇文章主要为大家详细介绍了Android实现屏幕截图并保存截取图片到指定文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10

最新评论