private void setUnlocked()
{
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
winParams.flags |= (WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
//| WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
win.setAttributes(winParams);
}
private void setLocked() {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
winParams.flags &= (~WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
& ~WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
//& ~WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
& ~WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
win.setAttributes(winParams);
}
解锁屏幕
final KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("Charge");
keyguardLock.disableKeyguard();// 禁止锁屏,包括图形锁和滑动锁,密码锁
new Handler().postDelayed(new Runnable() {
public void run() {
keyguardLock.reenableKeyguard(); // 放弃禁止锁屏
}
}, 15000);
km = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
if(km.inKeyguardRestrictedInputMode()){//判断是否已经处于锁屏状态
setUnlocked();// screen is locked,keeping this UI can not be locked
} else {
setLocked();// screen is unlocked,keeping this UI can be locked
}
public void resetLock() {
boolean pattern = Settings.Secure.putInt(getContentResolver(),
Settings.Secure.LOCK_PATTERN_ENABLED, 0);
boolean password = Settings.Secure.putLong(getContentResolver(), "lockscreen.password_type",
DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
}
不知道立即锁屏要如何做?DeviceManager总是出现Security异常
分享到:
相关推荐
然而,当在后台线程中创建或修改WriteableBitmap时,如果不正确地同步到主线程,会导致主线程被锁住,严重影响用户体验。这是因为所有的UI更新必须在主线程(Dispatcher线程)上进行。 这个问题的解决方案通常涉及...
- `Application.Idle`事件也可用于检测用户无操作状态,当此事件触发时,可执行锁定逻辑。 4. **设计考虑** - 锁定界面应具有用户友好的设计,比如提供清晰的解锁指示和反馈,以及合理的解锁机制(如密码、PIN码...
* 当用户按下电源按键把移动设备从闲置的状态唤醒的时候,该设备的屏幕是锁住的 * 移动设备的屏幕上会显示墙纸(用户可以自己更换),日期和时间,还有解锁按钮 * 用户可以通过拖拽屏幕上的解锁按钮到墙纸区域来解锁...
在禁用Ctrl+Alt+Del的情况下,开发者会创建一个键盘钩子,当检测到Ctrl+Alt+Del键被按下时,不向系统发送相应的消息,从而阻止其默认行为。 标签中的“控件”可能指的是用户界面(UI)控件,如按钮、文本框等,它们...
这个程序主要用于保护用户的计算机不被未经授权的人使用,尤其是在离开电脑时。以下是关于这个话题的一些关键知识点: 1. **Visual Basic 6.0(VB6.0)**:VB6.0是微软开发的一种可视化的编程环境,用于创建Windows...
为了操作Surface,我们需要通过SurfaceView的getHolder()方法获取SurfaceHolder对象,SurfaceHolder提供了锁住Canvas并进行绘制的能力。SurfaceHolder.Callback接口的实现是SurfaceView的关键,其中的surfaceCreated...
- SurfaceHolder锁住Canvas期间,不应进行其他UI操作,否则可能导致ANR(Application Not Responding)错误。 - 当Surface被销毁时,应立即停止绘图,防止资源泄漏。 - 考虑到性能优化,绘图操作应尽可能简洁高效...
"Start Button Lock"功能正是为解决这一需求而设计的,它通过软件方式锁住启动按钮,使得只有拥有相应权限的用户才能解锁并使用该功能。 C# Compact Framework是.NET框架的一个子集,专为资源受限的环境,如Windows...
3. `Monitor`:监视器,通常用于锁住对象,防止多个线程同时访问。 4. `lock`语句:基于监视器的简单同步,用于保护代码块。 例如,使用`lock`同步代码: ```csharp object syncObject = new object(); ... lock ...
还可能配备高效清洁溶液分配系统,以及能够吸附并锁住污渍的特殊材质刷头。 3. 自动化与智能化:在IT领域,一种可能的高级功能是集成物联网(IoT)技术,通过传感器监测清洁效果,实时调整清洁力度和液体流量。此外,...
Mutex允许一次只有一个线程访问资源,Semaphore可以指定同时访问资源的最大线程数,而Monitor是基于监视器的对象,常用于锁住对象以防止多个线程同时访问。 4. **BackgroundWorker组件**:ASP.NET中,...
DXR:Macromedia Director受保护(不可编辑)电影文件 E EDA:Ensoniq ASR磁盘映像 EDD:元素定义文档(FrameMaker+SGML文档) EDE:Ensoniq EPS磁盘映像 EDK:Ensoniq KT磁盘映像 EDQ:Ensoniq SQ1/SQ2/Ks32...
47. **IllegalMonitorStateException**: 当线程尝试等待一个没有被锁住的对象时抛出此异常。 48. **IllegalStateException**: 当方法调用处于不适当的状态时抛出此异常。 49. **IllegalThreadStateException**: ...
对于不可预测的任务,可能需要采用估算或动态调整的方法。 6. **样式和定制**:进度条对话框的外观可以根据应用程序的需求进行定制,包括颜色、样式(如条形、圆形、平滑动画等)、文本信息等。 7. **取消操作**:...
Monitor类是一种基于对象锁的同步机制,通过锁住对象以确保同一时间只有一个线程可以访问该对象。Mutex和Semaphore则是操作系统级别的同步工具,它们可以用于控制对共享资源的访问,Mutex通常用于单个资源的访问控制...