思想的实现:     WindowManagerService循环读取下面的关键信息和分发形式.在PhoneWindowManager.interceptKeyBeforeQueueing方法中进行消息的过滤. 因此该实现方式为在消息分发前的interceptKeyBeforeQueueing方法中监听当前按键为音量下键,假设当前状态为锁屏状态.并按键为音量下键,且两次按键间隔时间小于800ms时发送抓拍广播--"com.bill.snapshot". 详细实现方式例如以下: /fra…
有时候我们需要关闭屏幕来休息一下或者在本上写东西,但是屏幕亮着的时候会分心,但是关闭显示器又太麻烦了,所以直接来一个小程序(非微信小程序).还有一种情况,有时候晚上要离开电脑旁了,但是电脑还在做事情,不想关电脑,又因为晚上黑乎乎的,屏幕亮着会被骂的,综合以上情况,这端代码非常适合你. 如果你不会编译代码,没关系,我这里有编译好的可执行文件,下载链接http://www.yxxrui.cn/article/71.shtml using System; using System.Collection…
最近玩的比较欢脱,欠了好多东西没写.今天先简单地补一篇简单的内容.就是最近涉及到一个锁定Android设备屏幕的设计,大概就是通过一个按钮或者服务消息,来控制设备界面完全锁定,不能点击任何东西.感觉上这个需求可能会涉及很多东西,然而做起来发现并没有...内容很简单,跟着代码快速过一遍. 本文地址:http://www.cnblogs.com/rossoneri/p/4409691.html 主界面就放一个按钮来触发事件好了: 按下按钮后显示另一个锁屏界面,同时加上一个解锁按钮(如果不加的话怎么退…
    如前一篇博文所分析.我们能够使用广播的形式在高速按下两次音量下键的时候发出广播,以方便client进行捕捉. 既然有两种方式能够实现该Issue那么哪种方式是首选呢?     我个人推荐使用启动服务的方式,这种话能够避免多次连续按键导致反复发送广播.而使用服务不会反复启动服务. 详细实现方式例如以下: /framework/base/policy/src/com/android/policy/impl/PhoneWindowManager.java private long lastTi…
/********************************************************************************** * 设置Android默认锁定屏幕旋转 * 声明: * Android默认状态下是允许加速度旋转方向,这会导致一些问题,比如也许我们产品 * 只需要landscape,而这个功能有时候又会导致旋转到portrait,不好旋转回来,所以 * 需要在默认状态下关闭旋转功能. * * 2016-1-9 晴 深圳 南山平山村 曾剑锋 **…
android在屏幕打开和关闭的时候会发出广播,但是如果receiver配置在AndroidManifest.xml中时,receiver是接受不到任何广播的. <receiver android:name="cn.abcd.listener.ScreenStateReceiver" > <intent-filter> <action android:name="android.intent.action.SCREEN_OFF" /&g…
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientati…
Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration. “屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javadoc可以看到其他Configuration还有哪些:如fontScale.keyboardHidden和lo…
一:不同的layout Android手机 屏幕 大小不一,有480x320, 640x360, 800x480.怎样才能让App自动 适应不同的屏幕 呢?      其实很简单,只需要在res目录下创建不同的layout文件 夹,比如layout-640x360,layout-800x480,所有的layout文件在编译 之后都会写入R.java里,而系统 会根据屏幕 的大小自己选择合适的layout进行使用.   二:hdpi.mdpi.ldpi 在之前的版本中,只有一个drawable,而…
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这个时候我们希望游戏还是之前那个进度,或者说发生突发事件,游戏这个应用程序被关闭了,这个时候我们如果再重新打开游戏的话,我们如果还是希望回到之前的进度,我们就需要将其状态保存起来,这样在Activity的摧毁时,我们还能够根据保存的状…