如何在android中锁定设备

时间:2012-01-17 05:09:47

标签: android

如何锁定Android设备或屏幕?这是我的代码。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    context = this;
    Button b = new Button(context);
    b = (Button)findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener() {
    @Override
      public void onClick(View v) {
       // TODO Auto-generated method stub
      System.out.println("inside button");
      PowerManager pManager = (PowerManager)                                                                                                                   
          getSystemService(Context.POWER_SERVICE);         
      PowerManager.WakeLock wl = pManager.newWakeLock(PowerManager.
            PARTIAL_WAKE_LOCK, "lock screen");                  
              wl.acquire();
              wl.release();

                }
            });
        }

我在这里使用一个按钮。当用户点击时,屏幕应该锁定。但是这段代码不起作用。是否必须使用BraodCastRecievr ??。我在清单

中包含了这个权限
<uses-permission android:name="android.permission.WAKE_LOCK" />

但也没有工作

3 个答案:

答案 0 :(得分:2)

Can u plz go thru this

答案 1 :(得分:1)

KeyguardManager 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()

当然我们需要给予权限android.permission.DISABLE_KEYGUARD

答案 2 :(得分:0)