`
月下独酌
  • 浏览: 130568 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

设置UI不可被锁住

 
阅读更多
    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异常
分享到:
评论

相关推荐

    dotnet 读 WPF 源代码笔记 了解 WPF 已知问题 后台线程创建 WriteableBitmap 锁住主线程.rar

    然而,当在后台线程中创建或修改WriteableBitmap时,如果不正确地同步到主线程,会导致主线程被锁住,严重影响用户体验。这是因为所有的UI更新必须在主线程(Dispatcher线程)上进行。 这个问题的解决方案通常涉及...

    C#锁定程序项目winform锁定界面

    - `Application.Idle`事件也可用于检测用户无操作状态,当此事件触发时,可执行锁定逻辑。 4. **设计考虑** - 锁定界面应具有用户友好的设计,比如提供清晰的解锁指示和反馈,以及合理的解锁机制(如密码、PIN码...

    MeeGo手持移动设备的UI设计指南.docx

    * 当用户按下电源按键把移动设备从闲置的状态唤醒的时候,该设备的屏幕是锁住的 * 移动设备的屏幕上会显示墙纸(用户可以自己更换),日期和时间,还有解锁按钮 * 用户可以通过拖拽屏幕上的解锁按钮到墙纸区域来解锁...

    2000下禁用Ctrl+Alt+Del源码。

    在禁用Ctrl+Alt+Del的情况下,开发者会创建一个键盘钩子,当检测到Ctrl+Alt+Del键被按下时,不向系统发送相应的消息,从而阻止其默认行为。 标签中的“控件”可能指的是用户界面(UI)控件,如按钮、文本框等,它们...

    锁定Windows直到输入密码(VB6.0代码编写)

    这个程序主要用于保护用户的计算机不被未经授权的人使用,尤其是在离开电脑时。以下是关于这个话题的一些关键知识点: 1. **Visual Basic 6.0(VB6.0)**:VB6.0是微软开发的一种可视化的编程环境,用于创建Windows...

    09、表面视图1

    为了操作Surface,我们需要通过SurfaceView的getHolder()方法获取SurfaceHolder对象,SurfaceHolder提供了锁住Canvas并进行绘制的能力。SurfaceHolder.Callback接口的实现是SurfaceView的关键,其中的surfaceCreated...

    TestSurfaceView0.1

    - SurfaceHolder锁住Canvas期间,不应进行其他UI操作,否则可能导致ANR(Application Not Responding)错误。 - 当Surface被销毁时,应立即停止绘图,防止资源泄漏。 - 考虑到性能优化,绘图操作应尽可能简洁高效...

    LOCK_ST.ZIP_Start Button Lock_lock in

    "Start Button Lock"功能正是为解决这一需求而设计的,它通过软件方式锁住启动按钮,使得只有拥有相应权限的用户才能解锁并使用该功能。 C# Compact Framework是.NET框架的一个子集,专为资源受限的环境,如Windows...

    C# 线程操作实例

    3. `Monitor`:监视器,通常用于锁住对象,防止多个线程同时访问。 4. `lock`语句:基于监视器的简单同步,用于保护代码块。 例如,使用`lock`同步代码: ```csharp object syncObject = new object(); ... lock ...

    行业文档-设计装置-一种墙体清洁工具.zip

    还可能配备高效清洁溶液分配系统,以及能够吸附并锁住污渍的特殊材质刷头。 3. 自动化与智能化:在IT领域,一种可能的高级功能是集成物联网(IoT)技术,通过传感器监测清洁效果,实时调整清洁力度和液体流量。此外,...

    ASP.NET多线程编程(二) 源码 案例 教学

    Mutex允许一次只有一个线程访问资源,Semaphore可以指定同时访问资源的最大线程数,而Monitor是基于监视器的对象,常用于锁住对象以防止多个线程同时访问。 4. **BackgroundWorker组件**:ASP.NET中,...

    网管教程 从入门到精通软件篇.txt

    DXR:Macromedia Director受保护(不可编辑)电影文件 E EDA:Ensoniq ASR磁盘映像 EDD:元素定义文档(FrameMaker+SGML文档) EDE:Ensoniq EPS磁盘映像 EDK:Ensoniq KT磁盘映像 EDQ:Ensoniq SQ1/SQ2/Ks32...

    J2ME中文帮助文档

    47. **IllegalMonitorStateException**: 当线程尝试等待一个没有被锁住的对象时抛出此异常。 48. **IllegalStateException**: 当方法调用处于不适当的状态时抛出此异常。 49. **IllegalThreadStateException**: ...

    进度条对话框

    对于不可预测的任务,可能需要采用估算或动态调整的方法。 6. **样式和定制**:进度条对话框的外观可以根据应用程序的需求进行定制,包括颜色、样式(如条形、圆形、平滑动画等)、文本信息等。 7. **取消操作**:...

    VB.NET多线程技术及其应用 (2008年)

    Monitor类是一种基于对象锁的同步机制,通过锁住对象以确保同一时间只有一个线程可以访问该对象。Mutex和Semaphore则是操作系统级别的同步工具,它们可以用于控制对共享资源的访问,Mutex通常用于单个资源的访问控制...

Global site tag (gtag.js) - Google Analytics