Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个具有类似android中电源按钮功能的按钮_Android_Android Button - Fatal编程技术网

创建一个具有类似android中电源按钮功能的按钮

创建一个具有类似android中电源按钮功能的按钮,android,android-button,Android,Android Button,我有个问题。我想创建一个按钮,当屏幕打开并单击它时,屏幕会像电源按钮一样锁定和变暗。我尝试了很多方法,但似乎都不管用: 请帮帮我。 请参见下面的我的代码: public void click(View v) { if (mgr.isAdminActive(cn)) { mgr.lockNow(); } else { Intent intent= new Intent(DevicePolicyManager.ACTION_ADD_

我有个问题。我想创建一个按钮,当屏幕打开并单击它时,屏幕会像电源按钮一样锁定和变暗。我尝试了很多方法,但似乎都不管用: 请帮帮我。 请参见下面的我的代码:

public void click(View v) {
    if (mgr.isAdminActive(cn)) {
      mgr.lockNow();
    }
    else {
      Intent intent=
          new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
      intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, cn);
      intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                      getString(R.string.device_admin_explanation));
      startActivity(intent);
    }
  }
使用以下命令:

   KeyguardManager solution: keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
    KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
要锁定屏幕,请在单击按钮时使用此方法

lock.reenableKeyguard();
以及禁用锁的使用

lock.disableKeyguard();
这将只是隐藏锁屏,并显示如果有任何来电或任何此类事件发生,它将显示该屏幕。它不会显示锁屏

在运行应用程序时,要禁止进入锁定状态,只需使用setKeepScreenOn将其设置为true。或者使用xml属性android:keepScreenOn=true

另一种防止设备在应用程序运行时进入睡眠或锁定模式的方法是将此api设置为true-setKeepScreenOn


当然,我们需要在Manifext.xml文件中授予android.permission.DISABLE_KEYGUARD权限

您只想锁定活动屏幕还是锁定手机?