在安卓系统中禁用屏幕锁定(电源)按钮

10

我希望当我的应用程序运行时,按下电源按钮(它会锁定屏幕并使屏幕变黑)时,该按钮应被禁用。这样用户就无法锁定屏幕。

我在三星Galaxy S手机的默认相机应用程序中注意到了这一点。这也是我试图做同样事情的原因。我也有一个与相机相关的应用程序。


你是如何解决这个问题的? - Vikas Pandey
2个回答

8

尝试这个

int val=android.provider.Settings.System.getInt(getContentResolver(),
                                                                SCREEN_OFF_TIMEOUT);

                    android.provider.Settings.System.putInt(getContentResolver(),
                                                            SCREEN_OFF_TIMEOUT, -1);
                    Toast.makeText(this, "Disabled Screen Timeout", Toast.LENGTH_LONG).show();
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putInt("ScreenTimeout",val);
                    editor.commit();
                }
            } catch(Throwable er) {
                Toast.makeText(this, "Error "+er.getMessage(), Toast.LENGTH_LONG).show();
            } 

这将关闭屏幕

在安卓系统中禁用按键锁,请使用以下方法:

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

使用权限
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

保持屏幕常亮
 @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

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

为了使用该功能,需要添加以下权限:<uses-permission android:name="android.permission.WRITE_SETTINGS" /> - UdayaLakmal
我不是在寻找超时(TIMEOUT)的解决方案。我是在谈论如何禁用电源按钮。 - Khawar
我注意到后来,我改变了我的答案。 - UdayaLakmal
1
谢谢你的回答,我看到手机现在没有锁定,但屏幕仍然会变黑。我们该如何避免这种情况?无论如何,我会为你的回答投票。谢谢。 - Khawar
我在下面的答案中添加了代码,请尝试使用getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - UdayaLakmal

3
我已经使用 root 访问权限达到了这个目的。
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
insert into secure (name, value) values ('lockscreen.disabled', 1);

或者根据版本而定
sqlite3 /data/system/locksettings.db
insert into locksettings (name, value) values ('lockscreen.disabled', 1);

我不理解。你能给我简要介绍一下吗? - Mukta Ghosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接