解锁时苹果4s屏幕解锁软件会出现移动字是什么软件

Android系统亮屏、锁屏、屏幕解锁事件(解决部分手机亮屏后未解锁即进入resume状态)
有一部分三星的手机关闭屏幕以后,刚打开屏幕,前台的activity就会resume状态,因为我们使用cocos2d-x引擎,默认resume和activity的resume事件是一致的,我们在resume里把关闭的声音重新打开,所以导致,用户点亮屏幕以后(尚未解锁),就会听到游戏内的声音(如果在关闭屏幕时我们游戏处于前台)。
为了解决这个问题,我们需要修改我们resume触发的时机。确保在解锁以后才进入我们游戏的resume状态。
那么我们游戏应该在什么时机进入resume状态呢?
系统activity进入resume状态时刻,并且屏幕是亮的,屏幕未锁定屏幕刚刚亮起,并且屏幕 未锁定,系统activity已经进入resume状态屏幕 解锁,这是屏幕肯定是亮的,并且activity已经进入resume状态
那么有了上面的三点相信逻辑代码不难写,下面介绍一下如何坚挺系统屏幕灭,屏幕亮,解锁屏幕 的事件,以及如何判断当前屏幕 是否是解锁状态(因为用户可以设置关闭屏幕后是否锁定屏幕 ,所以解锁屏幕 事件可能根本就不会被触发,那么我们就不能通过跟踪事件来确定其状态)
要坚挺屏幕亮、屏幕灭、屏幕 解锁三个事件我们需要在代码中注册监听ACTION_SCREEN_ON、ACTION_SCREEN_OFF、ACTION_USER_PRESENT三个Action,具体的写法如下:
* screen状态广播接收者
private class ScreenBroadcastReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_SCREEN_ON.equals(intent.getAction())){
mScreenStateListener.onScreenOn();
}else if(Intent.ACTION_SCREEN_OFF.equals(intent.getAction())){
mScreenStateListener.onScreenOff();
}else if(Intent.ACTION_USER_PRESENT.equals(intent.getAction())){
mScreenStateListener.onUserPresent();
* 停止screen状态更新
public void stopScreenStateUpdate() {
mContext.unregisterReceiver(mScreenReceiver);
* 启动screen状态广播接收器
private void startScreenBroadcastReceiver() {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
mContext.registerReceiver(mScreenReceiver, filter);
因为屏幕在灭了以后是否锁定可以由用户设置,所以我们不能通过跟踪解锁事件来判断其状态,需要一个可以时时获取状态的函数:
//判断屏幕是否被锁定
public final static boolean isScreenLocked(Context c) {
android.app.KeyguardManager mKeyguardManager = (KeyguardManager) c.getSystemService(c.KEYGUARD_SERVICE);
return mKeyguardManager.inKeyguardRestrictedInputMode();
需要注意的是,大部分事件都可以在Manifest.xml中注册,但是ACTION_SCREEN_ON、ACTION_SCREEN_OFF、ACTION_USER_PRESENT这几个事件在PowerManager那边做了限制,必须像上面那样在代码中注册,才能监听到,所以大家不要踩到坑哦~~~
下面是包装屏幕事件的一个类代码,仅供参考:
package com.example.
import java.lang.reflect.M
import android.app.A
import android.app.KeyguardM
import android.content.BroadcastR
import android.content.C
import android.content.I
import android.content.IntentF
import android.os.PowerM
import android.util.L
* 监听屏幕ON和OFF PRESENT状态
public class ScreenObserver {
private static String TAG = "ScreenObserver";
private Context mC
private ScreenBroadcastReceiver mScreenR
private ScreenStateListener mScreenStateL
private static Method mReflectScreenS
public ScreenObserver(Context context) {
mContext =
mScreenReceiver = new ScreenBroadcastReceiver();
mReflectScreenState = PowerManager.class.getMethod("isScreenOn",
new Class[] {});
} catch (Exception nsme) {
Log.d(TAG, "API < 7," + nsme);
* screen状态广播接收者
private class ScreenBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_SCREEN_ON.equals(intent.getAction())) {
mScreenStateListener.onScreenOn();
} else if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) {
mScreenStateListener.onScreenOff();
} else if (Intent.ACTION_USER_PRESENT.equals(intent.getAction())) {
mScreenStateListener.onUserPresent();
* 请求screen状态更新
public void requestScreenStateUpdate(ScreenStateListener listener) {
mScreenStateListener =
startScreenBroadcastReceiver();
firstGetScreenState();
* 第一次请求screen状态
private void firstGetScreenState() {
PowerManager manager = (PowerManager) mContext
.getSystemService(Activity.POWER_SERVICE);
if (isScreenOn(manager)) {
if (mScreenStateListener != null) {
mScreenStateListener.onScreenOn();
if (mScreenStateListener != null) {
mScreenStateListener.onScreenOff();
* 停止screen状态更新
public void stopScreenStateUpdate() {
mContext.unregisterReceiver(mScreenReceiver);
* 启动screen状态广播接收器
private void startScreenBroadcastReceiver() {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
mContext.registerReceiver(mScreenReceiver, filter);
* screen是否打开状态
private static boolean isScreenOn(PowerManager pm) {
boolean screenS
screenState = (Boolean) mReflectScreenState.invoke(pm);
} catch (Exception e) {
screenState =
return screenS
// 外部调用接口
public interface ScreenStateListener {
public void onScreenOn();
public void onScreenOff();
public void onUserPresent();
public final static boolean isScreenLocked(Context c) {
android.app.KeyguardManager mKeyguardManager = (KeyguardManager) c
.getSystemService(c.KEYGUARD_SERVICE);
return mKeyguardManager.inKeyguardRestrictedInputMode();
上面代码参考:http://blog.csdn.net/m_changgong/article/details/7608911,特此注明。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。三星手机gti8558屏幕解锁时怎么不振动,原来有的
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因&
该内容由系统自动生成
参考价:¥600.00
主屏尺寸4.7英寸
电池容量2000mAh
主屏分辨率800x480像素
电池类型可拆卸式电池
后置摄像头500万像素
CPU频率1.2GHz
前置摄像头30万像素
网络类型双卡
282人的综合分
电池续航3.4
屏幕效果2.8
拍照效果3.2
影音娱乐3.4
外观设计3.7
快速简答--编辑问题发送微博@ZOL问答堂
三星gti8558 刷root
三星8558怎么下载视频
三星i8558老是开机后自动关机
三星GT-I8558什么时候上市的
没找到想要的答案?那就登录提问吧英雄联盟怎样让屏幕小幅度的跟着人物动啊,不是点Y解锁的那种,人走屏幕也会小幅度的移动,但是不锁定_百度知道
英雄联盟怎样让屏幕小幅度的跟着人物动啊,不是点Y解锁的那种,人走屏幕也会小幅度的移动,但是不锁定
我有更好的答案
少年你想多了,或者你去破译下,然后编个这样的程序,我也想要啊
我的电脑开机的时候要20左右分钟才显示图象
其他类似问题
为您推荐:
英雄联盟的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 2705 | 回复: 21
锁屏后屏幕出现时间,但时间是移动的
财富值 341
交易信用 0
原创小红花 0
积分/帖子:74
连续签到天数:1
全部签到天数:98
注册时间:
手机型号:
状态: 离线
锁屏后屏幕出现时间,但时间是移动的
移动的时间需要很久才能变没掉,可这很耗电,能不能缩短时间或者关掉?
财富值 114
交易信用 0
原创小红花 0
积分/帖子:552
连续签到天数:1
全部签到天数:4
注册时间:
手机型号:
状态: 离线
好像不能哦,看看后期有没第三方的软件了,
财富值 341
交易信用 0
原创小红花 0
积分/帖子:74
连续签到天数:1
全部签到天数:98
注册时间:
手机型号:
状态: 离线
哦,我是老觉得那个挺费电的,完全没必要,看时间也不会看多久的。换个主题也不行吗?我刚入手,不熟悉。
UID 6839275
财富值 31014
好评度 141
交易信用 0
原创小红花 0
人气值 262
荣誉卸任管理组
积分/帖子:4900
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
状态: 离线
回复 #1 sads123 的帖子
进入设置,概览,概览屏幕选择关闭即可关闭待机时钟,而且这个也不费多少点,超过一定时间就会自动关闭,放入兜里或者包里也会自动关闭。
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
寒山问拾得:“世间有人谤我、欺我、辱我、笑我、轻我、贱我、骗我,如何处置乎?”
拾得曰:“忍他、让他、避他、由他、耐他、敬他、不要理他,再过几年你且看他。”
财富值 266
交易信用 0
原创小红花 0
积分/帖子:289
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
不会很久啊,应该10来秒就自动灭了,在红外线上面动一下又亮了
财富值 1273
交易信用 0
原创小红花 0
积分/帖子:734
连续签到天数:1
全部签到天数:164
注册时间:
手机型号:
状态: 离线
这个是概览,可以关的。。。。。难道手机真的应该保留说明书?。。。。
UID 7688863
财富值 2042
交易信用 0
原创小红花 0
资深裸*女爱好者
积分/帖子:3937
连续签到天数:1
全部签到天数:200
注册时间:
手机型号:
来自:广西南宁
状态: 离线
可以在概览关闭,这个耗电可以忽略不计的。。。
电脑型号& & & & 技嘉 台式电脑
操作系统& & & & Windows 7 旗舰版 64位 SP1 ( DirectX 11 )
处理器& & & & 英特尔 第三代酷睿 i3-3220 @ 3.30GHz 双核
主板& & & & 技嘉 G1.Sniper M3-CF (英特尔 Ivy Bridge - Z77 Express 芯片组)
内存& & & & 8 GB ( 芝奇 DDR3 2400MHz )
主硬盘& & & & 浦科特 PX-128M6S ( 128 GB / 固态硬盘 )
显卡& & & & 英特尔 Ivy Bridge Graphics Controller ( 2112 MB / 技嘉 )
财富值 341
交易信用 0
原创小红花 0
积分/帖子:74
连续签到天数:1
全部签到天数:98
注册时间:
手机型号:
状态: 离线
国行925,我在设置里面找不到概览啊,刚从塞班转到WP,不懂的地方挺多的,请多帮忙!概览要在哪里找
财富值 2036
交易信用 0
原创小红花 0
积分/帖子:1076
连续签到天数:1
全部签到天数:351
注册时间:
手机型号:
Lumia 925T(CatWalk)
状态: 离线
回复 #8 sads123 的帖子
更新后,概览单独出来了,之前好像是触屏什么的,忘了,自己在设置里面找吧
财富值 1891
交易信用 0
原创小红花 0
积分/帖子:519
连续签到天数:10
全部签到天数:511
注册时间:
手机型号:
状态: 离线
这个很好啊,还有光线控制着,对于拿手机当钟用的,很好很强大。
总有一个诗意的角落,等待你出发去寻找。
或偶遇某个手持鲜花的人,和动人的真诚。
有时候,一声主动的问候,就能改变许多。
世界是一面镜子,你笑它便笑。
财富值 1065
交易信用 0
原创小红花 0
积分/帖子:475
连续签到天数:2
全部签到天数:225
注册时间:
手机型号:
来自:kunming
状态: 离线
在概览里设置为快速浏览就可以啦,
财富值 341
交易信用 0
原创小红花 0
积分/帖子:74
连续签到天数:1
全部签到天数:98
注册时间:
手机型号:
状态: 离线
国行925,我在设置里找了N遍就是没找到概览啊
交易信用 0
原创小红花 0
积分/帖子:72
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
财富值 2036
交易信用 0
原创小红花 0
积分/帖子:1076
连续签到天数:1
全部签到天数:351
注册时间:
手机型号:
Lumia 925T(CatWalk)
状态: 离线
回复 #12 sads123 的帖子
这动手能力。。。可能在某项设置里面,左右滑动屏幕找吧
交易信用 0
原创小红花 0
积分/帖子:16
连续签到天数:1
全部签到天数:1
注册时间:
手机型号:
来自:邯郸
状态: 离线
涓瑙涓孩叉搴绾挎′珏氨锛甯瀛濂瀛灏辫В充锛
微信扫一扫关注dospy

我要回帖

更多关于 手机屏幕解锁软件 的文章

 

随机推荐