如何在android中锁定设备

问题描述:

如何锁定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 ??。我包括这permmission清单中

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

但也没有工作

+0

thx for ur answer。在上面的链接if(active){mDPM.locknow()}。主动意味着什么? – shiv1229 2012-01-17 05:31:30

+0

如果它处于活动状态,请立即锁定设备,就好像锁定屏幕超时在此次呼叫时已过期一样。 – 2012-01-17 05:42:53

+0

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#lockNow() – 2012-01-17 05:43:20

Can u plz go thru this

+0

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html – 2012-01-17 06:02:34

+0

你可以不做类似这样的事情吗... – 2012-01-17 06:03:55

+0

ok thx很多:) 。我会尝试。 – shiv1229 2012-01-17 06:07:38

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

为了锁定屏幕使用时,

lock.reenableKeyguard(); 

和用于禁止所述锁定使用,

lock.disableKeyguard() 

这将只是隐藏锁定屏幕,并显示,如果任何输入呼叫或任何这样的事件是发生,它会显示该屏幕。它不会显示锁定屏幕。

运行应用程序时,从去锁定状态禁用,只需使用 setKeepScreenOn()设置为true。或使用XML属性的android:keepScreenOn =“真”

的另一种方式,以防止设备进入睡眠或锁定模式时,应用程序运行时设置这个API来真的 - setKeepScreenOn()

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

+0

@ shiv1229试试这个。 – Android 2012-01-17 07:06:45

+0

我在onClick按钮中添加了上面的代码。但它不工作,并添加权限也:( – shiv1229 2012-01-17 07:21:43