【问题标题】:Stop the Screen Locking when power button is pressed [duplicate]按下电源按钮时停止屏幕锁定[重复]
【发布时间】:2012-03-27 10:57:33
【问题描述】:

可能重复:
Overriding the power button in Android

有什么方法可以在按下电源按钮时阻止屏幕锁定。

【问题讨论】:

  • 为什么要阻止用户控制自己的手机?

标签: android


【解决方案1】:

你不能停止屏幕来获得锁定(短按),但你可以得到电源按钮长按键的事件

 @Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
        //dostuff
        return true;
    }

    return super.dispatchKeyEvent(event);
}

【讨论】:

  • 幸运的是,您无法阻止屏幕锁定。应用程序不应影响设备的基本功能。如果某个应用对我这样做,它就会被卸载。
【解决方案2】:
【解决方案3】:

根据您的要求试试这个,

KeyguardManager keyguardManager;
    KeyguardLock lock;


    public void Disable_AutoLock() 
    {   

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
        lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);        
        lock.disableKeyguard();

    }

    public void Enable_AutoLock() 
    {
        lock.reenableKeyguard();

    }

在 android manifest 中授予权限。

 <uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
    <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多