防止屏幕锁屏

Android为了确保应用程序中关键代码的正确执行,提供了Wake Lock的API,使得应用程序有权限通过代码阻止AP进入休眠状态。 

WakeLock阻止应用处理器(Application Processor)挂起,确保关键代码的运行,通过中断唤起应用处理器(Application Processor),可以阻止屏幕变暗。所有的WakeLock被释放后,系统会挂起。


    @Override  
    protected void onResume() { 
        super.onResume(); 
        pManager = ((PowerManager) getSystemService(POWER_SERVICE )); 
        mWakeLock = pManager .newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK  
                | PowerManager. ON_AFTER_RELEASE , "" ); 
        mWakeLock.acquire(); 
    } 
     
    @Override 
    protected void onPause() { 
        super.onPause(); 
         
        if( null != mWakeLock){ 
            mWakeLock.release(); 
        } 
    }



所需权限:  
<uses-permission android:name="android.permission.WAKE_LOCK" />



参考文章:

http://blog.csdn.net/chenyafei617/article/details/6575621

http://blog.sina.com.cn/s/blog_4ad7c2540101n2k2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 System.Windows.Forms.Application.SetSuspendState 方法来防止屏幕锁屏。这个方法有两个参数,第一个参数是一个枚举类型,用于指定要执行的操作(关机、休眠或者睡眠),第二个参数是一个布尔值,用于指定是否禁止屏幕锁屏。如果第二个参数设置为 true,那么在操作执行期间,屏幕将不会锁定。 以下是一个示例代码: ```csharp using System; using System.Windows.Forms; using System.Runtime.InteropServices; public partial class Form1 : Form { [DllImport("user32.dll", SetLastError = true)] static extern bool SystemParametersInfo(uint uiAction, uint uiParam, ref bool pvParam, uint fWinIni); private const uint SPI_SETSCREENSAVERACTIVE = 0x0011; private const uint SPIF_SENDWININICHANGE = 0x0002; private const uint SPIF_UPDATEINIFILE = 0x0001; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { bool preventScreenSaver = true; SystemParametersInfo(SPI_SETSCREENSAVERACTIVE, 0, ref preventScreenSaver, SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE); //执行操作 System.Windows.Forms.Application.SetSuspendState(PowerState.Hibernate, true, false); } } ``` 在上面的示例代码中,我们将 preventScreenSaver 参数设置为 true,以便禁用屏幕保护程序。接下来,我们调用 System.Windows.Forms.Application.SetSuspendState 方法来执行操作(这里我们使用 Hibernate 操作),并将第二个参数设置为 true,以便在操作期间禁用屏幕锁定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值