在Android中禁用屏幕锁定(电源)按钮

时间:2012-05-30 13:31:39

标签: android android-camera android-wake-lock

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

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

2 个答案:

答案 0 :(得分:6)

尝试这个

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();
            } 

将关闭屏幕

在Android使用中禁用密钥保护

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

并使用permition

<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);
    }

答案 1 :(得分:1)

我已使用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);