`
夜之son
  • 浏览: 26296 次
  • 性别: Icon_minigender_1
  • 来自: 信阳
社区版块
存档分类
最新评论

android锁屏

阅读更多

最近纠结于锁屏,参考资料可以知道实现思路:

 

第一部分:

 

http://stackoverflow.com/questions/4116001/android-lock-screen-widget


这里就不累述了。上面是摘自stackoverflow的一段评论。

 

现在问题,也是大家都面临的问题就是home键的屏蔽了。api中有这么个介绍:

 

boolean android.app.KeyguardManager.inKeyguardRestrictedInputMode()

If keyguard screen is showing or in restricted key input mode (i.e. in keyguard password emergency screen). When in such mode, certain keys, such as the Home key and the right soft keys, don't work.

See Also:
android.view.WindowManagerPolicy.inKeyguardRestrictedKeyInputMode
Returns:
true if in keyguard restricted input mode.

When in such mode, certain keys, such as the Home key and the right soft keys, don't work,

这句话很纠结,don't work.是说那些键不适用这个函数,还是说那些键也会屏蔽掉。真够蛋疼的。

有谁搞定了,分享下。我也在努力搞定。搞定了分享给大家。

第二部分:

 

 上个项目已经完成,现在接着调研锁屏,把目前的消息广播给大家:

FLAG_SHOW_WHEN_LOCKED

FLAG_DISMISS_KEYGUARD 

这两个属性好像也可以实现锁屏功能,但是在2.0测试的时候好像没有作用,点击home还是可以回到桌面。我之前一直纠结于把键盘上锁,这样就可以实现锁住home了。但是当我在oncreate里使用reenablekeyboard时,整个activity压根就不会显示了,程序运行了,但是activity不会把组件显示出来。但是此时其他键盘还可以屏蔽掉,但是home没法弄掉。如果可以实现上锁,那么1.6下就可以实现实现屏蔽Homel了。原因继续寻找中。在网上看到一个哥们有实现屏蔽home的例子,不过是在2.0之后才会有用,我查过源码1.6也有,但好像是没法给我们用。

原文是这样的:

 

 

@Override
	public void onAttachedToWindow() {
		// TODO Auto-generated method stub
		this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
		super.onAttachedToWindow();
	}

 我建议用这种方式,用了就知道为什么了

 

@Override
	public void onAttachedToWindow() {
		// TODO Auto-generated method stub
		this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
		super.onAttachedToWindow();
	}

 这种方式的确可以屏蔽home,而且可以打印出捕获的home的code。可以试试,目前这种方式可行,原因自己可以查看源码,有需要的哥们可以试试,我正在寻找更靠谱的办法,可以实现在更低版本里同样有用。希望大牛们也提出更好的解决方案。

第二部分就分享到这了,未完待续。。。

 

第三部分:

    时间过得很快,让我来把之前没写完的东西写完吧。这次主要写锁屏的屏蔽home吧,也许我们之前一直都太在意home键了。现在推荐一种新的做法。

   使用WindowManager。

  step1 :

      获得:

      WindowManager window = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);

  step2:

      设置参数

     WindowManager.LayoutParams param = new WindowManager.LayoutParams();

     param.type = 2010;//2003也ok

    ..........

   诸多参数请自己添加,不明白的请网上搜索资料或者api。这里就不提供介绍了。

    step3:

    把自己的view添加到窗口里:

   window.addView(view, param);

 

 

现在可以测试了,主要原理就是就是将自己的界面设置为系统及窗口。各位要是有更好的思路,不妨一起讨论。

1
3
分享到:
评论
4 楼 夜之son 2011-05-06  
enefry 写道
呃... 原来是还没实现的.

这是一个调研的,现在正在着力于之前产品的新版本。等ok了会分享的。也希望大家多提供几种思路。
3 楼 enefry 2011-05-06  
呃... 原来是还没实现的.
2 楼 夜之son 2011-05-03  
gqdy365 写道
屏蔽home键要修改framework层的,单纯在第四次应用里面调用系统api是实现不了的!

是这样的,所以现在在考虑达到屏蔽的效果,home是屏不掉的。
1 楼 gqdy365 2011-05-02  
屏蔽home键要修改framework层的,单纯在第四次应用里面调用系统api是实现不了的!

相关推荐

    解决Android锁屏无法继续定位问题

    解决Android锁屏无法继续定位的问题,我在启动定位的时候提示了一个通知,通知的主要功能就是告诉启动了定位。锁屏后通知不会提示!!!在启动定位了之后,往本地写了一个txt文件, txt文件显示的是 “时间、经纬度...

    Android锁屏状态下显示Activity

    下面将详细介绍如何在Android锁屏状态下显示Activity。 1. **电源管理与唤醒权限** 在Android中,为了实现锁屏状态下显示Activity,首先需要处理的是电源管理。应用需要获取到相应的唤醒权限,以确保在锁屏时能够...

    解决Android锁屏无法继续定位问题-最新

    解决Android锁屏无法继续定位的问题,我在启动定位的时候提示了吐司,如果返回定位会显示"启动定位"四个字。在启动定位了之后,往本地写了一个txt文件, txt文件显示的是 “时间、经纬度”等一些信息。可查看确认...

    android锁屏界面显示,仿播放器。

    首先,理解Android锁屏界面的工作原理至关重要。Android系统允许开发者通过服务(Service)和广播接收器(BroadcastReceiver)来监听和控制锁屏状态。在我们的案例中,我们需要创建一个媒体服务,负责播放音频或视频...

    Android锁屏无法继续定位问题

    Android锁屏无法继续定位问题 产生问题的原因: 手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会将手机进入休眠状态。此时的服务以及线程等都会停止。 最近就这个问题,阅读了很多代码以及官方文档...

    Android锁屏简易Demo

    本项目“Android锁屏简易Demo”提供了一个基础框架,帮助开发者了解如何实现一个基本的锁屏功能。这个小Demo允许用户设置左滑解锁和右滑解锁,类似于一些定制的智能锁屏界面。 首先,我们需要理解Android系统的活动...

    Android锁屏

    本教程将深入探讨如何创建一个自定义的Android锁屏,涉及Activity、Service和Receiver这三种核心组件的使用。 1. **Activity**:在Android中,Activity是用户界面的基本单元,它负责显示UI并处理用户输入。在自定义...

    Android锁屏应用源码

    本教程将通过分析"Lock_QinZDLock"这个源码,来探讨如何构建一个基本的Android锁屏应用。 首先,我们需要理解Android系统的启动流程。在Android中,锁屏应用通常作为系统服务运行,与系统其他组件进行交互。这种...

    android锁屏源码

    本文将深入探讨"android锁屏源码"的相关知识点,以帮助开发者理解其工作原理并进行定制。 一、Android锁屏机制概述 Android锁屏分为多种类型,如图案解锁、PIN码解锁、密码解锁等。这些解锁方式的实现基于Android...

    Android锁屏与解屏相关代码分析

    ### Android锁屏与解屏相关代码分析 #### 一、引言 在现代智能手机中,锁屏机制是一项基本且重要的功能。它不仅保障了设备的安全性,还为用户提供了便捷的操作体验。Android系统中的锁屏界面由多个组件构成,本文...

    android锁屏机制

    本文将深入探讨Android锁屏机制,解析其中涉及的主要类与组件,以及它们如何协同工作以实现锁屏功能。 首先,Android锁屏机制主要由以下几个核心组件构成: 1. **KeyguardService**:这是Android系统中的一个服务...

    Android框架浅析之锁屏(Keyguard)机制原理

    通过深入研究Android锁屏(Keyguard)机制,我们可以更好地理解它是如何工作的,以及如何在必要时对其进行定制或修改。对于开发者来说,了解这些底层机制有助于构建更加安全和用户友好的移动应用。

    Android 屏幕锁源码.rar_android_android 源码_android 锁屏_安卓锁屏源码

    这个名为"Android 屏幕锁源码"的资源提供了深入理解Android锁屏机制的机会,对于开发者来说是一份宝贵的参考资料。下面,我们将详细探讨Android屏幕锁的工作原理、源码结构以及如何实现自定义锁屏界面。 首先,...

    Android锁屏源代码

    "Android锁屏源代码"是一个关于如何实现一键锁屏功能的项目,这通常涉及到Android系统的权限控制、服务(Service)、广播接收器(BroadcastReceiver)以及用户界面(UI)的设计。下面我们将详细探讨这些知识点。 ...

    Android锁屏悬浮demo

    这个"Android锁屏悬浮demo"是为开发者提供的一个示例,帮助他们理解如何在Android设备的锁屏界面上实现这样的功能。下面将详细解释相关知识点。 1. **悬浮窗权限**: 在Android 6.0(API级别23)及更高版本中,...

    Android 锁屏页面避免被杀掉,解锁会自动关闭页面。防止后台运行时被关闭。

    在Android开发中,保持应用程序在锁屏状态下不被系统优化机制清理,并且在用户解锁后能够自动关闭特定页面,是一项常见的需求。这涉及到Android系统的进程管理、权限控制以及活动生命周期管理等多个方面。以下是对这...

    Android 锁屏软件 源代码(确实可用)

    在Android平台上,开发一款锁屏软件可以涉及到许多关键的技术点,包括用户界面设计、权限管理、事件监听、自定义组件以及服务的运用等。这里,我们深入探讨一下基于"Android 锁屏软件 源代码"这个主题所涵盖的知识点...

    jQuery仿Android锁屏图案源码 jQueryImitationAndroidLock.rar

    jQuery仿Android锁屏图案源码 源码描述: 一、源码特点 在Android应用中,我们经常会使用一种锁屏应用软件,你需要输入正确的连线顺序才能解开Android屏幕桌面。今天这次我们要利用jQuery来实现这种锁屏功能,例子...

Global site tag (gtag.js) - Google Analytics