如何在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" />
但也没有工作
http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html – 2012-01-17 06:02:34
你可以不做类似这样的事情吗... – 2012-01-17 06:03:55
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
thx for ur answer。在上面的链接if(active){mDPM.locknow()}。主动意味着什么? – shiv1229 2012-01-17 05:31:30
如果它处于活动状态,请立即锁定设备,就好像锁定屏幕超时在此次呼叫时已过期一样。 – 2012-01-17 05:42:53
http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#lockNow() – 2012-01-17 05:43:20