【急】android小白求帮助,android如何唤醒屏幕?【在线等】
        public void onSensorChanged(SensorEvent event) {
            // values的第一个就是光感亮度的值
            float values = event.values[0];
            // 设置标志位
            boolean temp = true;
            // 如果光感值小于等于3则锁屏
            if (values <= 3) {
                Toast.makeText(MainActivity.this, "锁屏", Toast.LENGTH_LONG)
                        .show();
                // systemLock();
                temp = false;
            }
            // 如果temp为假并且光感值小于等于三则唤醒屏幕
            if (!temp && values <= 3) {
                // wakeUpAndUnlock();
                Toast.makeText(MainActivity.this, "唤醒屏幕", Toast.LENGTH_LONG)
                        .show();
                temp = true;
            }
            lightLevel.setText("当前的光感值为:" + values + "lux");
        }

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
            // TODO Auto-generated method stub

        }

 /**************************我是分割线****************************/
    // 锁屏
    private void systemLock() {
        if (this.policyManager.isAdminActive(this.componentName)) {
            Window localWindow = getWindow();
            WindowManager.LayoutParams localLayoutParams = localWindow
                    .getAttributes();
            localLayoutParams.screenBrightness = 0.05F;
            localWindow.setAttributes(localLayoutParams);
            this.policyManager.lockNow();
        }
        finish();
    }
    // 唤醒屏幕

代码如上 1.差一个唤醒屏幕的方法 2.onSensorChanged(SensorEvent event)两个if都会执行 3.如何利用services让程序后台运行?

0

1个回答

  1. 参考Wake Android Device up 唤醒屏幕 PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG"); wakeLock.acquire(); 释放屏幕锁 KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG"); keyguardLock.disableKeyguard(); 添加相应权限 <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

2.你的这部分貌似逻辑有问题,boolean temp = true;初始为true,但是第一个if的时候设为false,所以第二个if的时候每次都是false,也就是每次都会执行,然后又把temp设为true。不知道你需要达到什么样的效果,但是从代码上看,temp没有必要,直接把两个if合并,只判断光感值得效果和你现在的应该是一样的吧?如果你需要两个if根据temp值来执行相应的代码,是否需要把temp放在函数外面,避免每次都被初始化为true?

3.你可以做成服务,通过相应的广播来启动。

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android-点亮屏幕与唤醒
实现点亮屏幕和解开键盘锁。
android唤醒屏幕
 权限nnn&amp;lt;uses-permission android:name=&quot;android.permission.WAKE_LOCK&quot; /&amp;gt;n&amp;lt;uses-permission android:name=&quot;android.permission.DISABLE_KEYGUARD&quot; /&amp;gt;nn nnn唤醒屏幕代码PowerManager mPowerManager = (PowerM...
保持屏幕唤醒的几种方式总结
1.通过WakeLock的方式nn首先设置唤醒锁的权限 n &amp;lt;uses-permission android:name=&quot;android.permission.WAKE_LOCK&quot; /&amp;gt;nn&amp;lt;uses-permission android:name=&quot;android.permission.DEVICE_POWER&quot;/&amp;gt;nn代码示例:nnprivate PowerManage...
Android 接受广播唤醒屏幕
方法:PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);n/* PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。n SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯n SCR
android屏幕休眠和唤醒两种方法(newWakeLock)
1.WakeLock主要代码如下:nnPowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);nwakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getName());//持有唤醒锁nwakeLock.se
Android 唤醒亮屏
Android的PowerManager和PowerManager.WakeLock用法简析之前的一个社区PDA项目在采集使用者坐标这个功能的时候,需要保持屏幕常亮,面对未涉及过的东西,网络是最好的学习工具,便去找相关的资料,发现原来可以使用PowerManager.WakeLock来实现要求的功能,以下的文字部分转载自网路上的一篇有关博客,感觉写的还比较清楚,可以学习并用来写到项目中,原文链接。...
Android屏幕的休眠和唤醒
目的:实现屏幕的休眠和唤醒。n实现:点击按钮,屏幕进入休眠,4秒后屏幕自动唤醒。n注意:需要系统签名(本文是在没有源码的情况下,使用platform.pk8、platform.x509.pem、signapk.jar来进行系统签名)n开发工具用的是eclipse,android studio还没试过。n步骤:n1、在eclipse新建项目,在MainActivity中实现代码如下:np
Android指定物理按键唤醒屏幕
指定键唤醒屏幕n例如指定按键机所有键均可以唤醒屏幕,添加如下修改部分即可nframeworks/base/core/java/android/view/KeyEvent.javan/** @hide */n public static final boolean isWakeKey(int keyCode) {n switch (keyCode) {n c...
touch的双击唤醒如何实现
现在很多手机具有双击唤醒屏幕功能,那么这个功能是如何实现的呢,在ft5x06这款touchscreen上的实现方式如下rnrnrn首先在touch的driver里会针对屏幕关闭时做特殊处理rn在static irqreturn_t ftxxxx_ts_interrupt(int irq, void *dev_id)rn{rnrnu8 state;rn       i2c_smbus_read_i2
Android屏幕休眠和唤醒
一、方式一nPowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);n//持有唤醒锁nwakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getName());nwakeLock.setReferenceCounte...
通过推送消息控制Android系统锁屏、唤醒
最近一年以来,博主一直在搞密室逃脱方面的东西。涉及到的技术很杂,不少也很冷门。nnn前段时间有这样一个有意思的需求:要求服务器在达到一定要求时唤醒一台待机的投影仪自动进行播放,并且在不同的条件下播放不同的影片。n博主考察了一下市场发现现在市面上有这样几种投影仪:nnn普通投影仪,需要接一台电脑,在电脑上选择播放的影片,电脑显示什么投影仪做为显示设备就播放什么。这个想做自动化需要和播放
android 唤醒和解锁屏幕
n/**n * 唤醒手机屏幕并解锁n */n public void wakeUpAndUnlock() {n // 获取电源管理器对象n PowerManager pm = (PowerManager) getApplicationContext()n .getSystemService(Context.POWER_...
android6.0 otg连接设备 点亮屏幕(案例)
现在我们otg连接设备的时候有点亮屏幕的需求。rnrnrn解决方法我们可以在识别设备的时候,去调用PowerManager的wakeup唤醒(点亮)设备。rnvoid InputReader::processEventsLocked(const RawEvent* rawEvents, size_t count) {n for (const RawEvent* rawEvent = rawE
触摸屏唤醒实现
自助设备在没有人的情况下需要休眠,然而还得通过触摸屏唤醒设备。rn需要做休眠唤醒必须需要了解一下内核的休眠唤醒机制,相应的android 上得再次加深一下大致流程。rnrnrnrnrn触摸唤醒分两种情况:rnrnrnrn第一种、CPU进入深度休眠rnrn第二种、假休眠rnrnrn第二种情况比较容易实现:rnrnrnAndroid系统休眠的方式在android4.2.2之后就缘用了linux的wak
Android 物理按键在屏幕灭的时候会唤醒手机修改
关于物理按键在android手机系统开发过程中发现,物理按键HOME,BACK,MENU,会在手机屏灭的时候唤醒手机关于手机按键唤醒屏的源码在PhoneWindowManager.java中具体的修改方案: /**n * When the screen is off we ignore some keys that might otherwise typicallyn * be conside
Android点亮屏幕并解锁
Android点亮屏幕并解锁需求:现在在做一个app要求有唤醒屏幕并解锁的需求,参考了网上的许多的博客,感觉前篇一律,有的手机上好使,在有的手机上不好使,参考了微信的视频呼叫唤醒屏幕,可以点亮手机屏幕,对于有上滑手势解锁的手机只能点亮屏幕不能解锁屏幕,后来经过尝试,当前应用中有一个锁屏弹起界面 的权限,默认是关闭的,打开这个权限之后就可以点亮屏幕并弹出界面了(有上滑手势解锁的手机),后台经过尝试现在
Android Studio用代码唤醒手机屏幕并解锁
试过几个方案,只有这个好用。npublic static Context context;n /**n * 唤醒手机屏幕并解锁n */n public static void wakeUpAndUnlock() {n // 获取电源管理器对象n PowerManager pm = (PowerMana...
Android 监听屏幕唤醒、关闭和解锁的广播
总结一下亮屏息屏解锁的广播接收public class ScreenBroadcastReceiver extends BroadcastReceiver {n private static final String TAG = ScreenBroadcastReceiver.class.getSimpleName();n private boolean isRegisterReceiv
(原创)Android6.0亮屏流程分析
Android的亮屏流程从android系统结构层次来分可以分为三个流程,App应用唤醒源;Framework层Power结合Display,Light服务做亮屏绘制准备工作;底层驱动点亮背光灯。这里重点分析一下Framework层亮屏的一系列准备工作流程。
android唤醒屏幕--保持屏幕唤醒-Reprinted
 rn方法 1: use PowerManager and WakeLockAndroidManifest.xml权限:rnn&amp;lt;uses-permission android:name=&quot;android.permission.WAKE_LOCK&quot; /&amp;gt; nrn程序中的代码:rnnPowerManager pm = (PowerManager) getSystemService(Cont...
当设备处于充电状态时,如何取消屏幕唤醒功能
以实际工作为列:rnrnrn/home2/ibuilder/pub/z3735fg-5.1/android/frameworks/base/services/core/java/com/android/server/powerrn找到PowerManagerService.javarnrnrn在systemReady方法中:rn  // Register for broadcasts from o
android锁屏状态下, 消息推送 唤醒屏幕,并跳转到指定页面
最近在做一个项目,有个功能,就和QQ电话差不多,我这边手机锁屏状态,当QQ电话过来时,立刻唤醒屏幕,并显示QQ来电界面,我的是当设备端有事件发生时通知app端弹出界面,实时显示设备端信息。nnnn在这重点说下当处于锁屏状态下,新消息唤醒屏幕,并显示指定Activity 界面,因为是新消息到来直接进入某个界面 所以没通知栏的标题啊,内容啊,图标啊,都不需要,直接在监测到新消息状态处用Intent ...
Android 启动Activity时唤醒系统的方法(Sleep、Dream)
今天有客户求助一个问题,说是之前在L版本还可以的唤醒系统的方案,在O版本上不行了。nn他的代码的思路是这样子,首先在Activity里面aquire一个ACQUIRE_CAUSES_WAKEUP flag的wakelock,然后再设置添加window的flag WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON。nn首先,如果要在Activity里面保持系...
android 收到新短信时,点亮屏幕
android 收到新短信时,点亮屏幕
android O音量键唤醒
发现在android O上怎么打开不了音量键唤醒,于是看了源代码, n发现KEYCODE_WAKEUP等按键是在interceptKeyBeforeQueueing的最后面的按键唤醒的,于是跟踪代码将需求的按键也修改成iswakeup按键nnnn if (isWakeKey) {n Log.d(TAG, &amp;amp;amp;amp;amp;quot;6380 wake zhongyukang.&amp;amp;amp;amp;amp;quot; + k...
android开机自动唤醒屏幕、打开锁屏页并启动app
描述了如何实现让android手机启动后自动唤醒屏幕、在没有设置解锁密码和手势的情况下自动解锁并启动app的需求,文章末尾摘录了网上一篇文章总结的应用自启动失败的一些原因。
唤醒流程分析——psensor唤醒及backlight控制
唤醒流程分析——psensor唤醒及backlight控制
基于android5.1休眠唤醒流程
1.用户态睡眠流程rnframework/base/services/core/java/com/android/server/power/PowerManagerService.javarnupdatePowerStateLocked()-> updateSuspendBlockerLocked()->setHalAutoSuspendModeLocked()->nativeSetAutoSus
7.0 灭屏接收蓝牙到文件唤醒屏幕
packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppService.javannnprivate Handler mHandler = new Handler() {n…………………………nnncase BluetoothOppRfcommListener.MSG_INCOMING_BTOPP_CONNE
Android 自动休眠唤醒
这几天研究的内容: n**一、自动休眠唤醒的实现. n二、binder机制.(广播既然能实现进程间通信,两者区别?) n三、自定义控件的使用和原理.(benwenbutantao….) n四、动画效果的实现原理.**一、自动休眠唤醒的实现. n分析: n标准Linux睡眠唤醒机制简介: n 在标准Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的s
如何分析按power键熄屏时屏幕又被唤醒了
如何分析按power键熄屏时屏幕又被唤醒了nn具体参考以下分析nn从log看,唤醒源为keyguard的fingerprint wakeup :nnnnn01-01 09:03:20.564 1622 3341 D PowerManagerService:     |----com.android.server.power.PowerManagerService$BinderSe
Android通过广播实现灭屏和唤醒
1、要实现灭屏和唤醒,需要在Manifest文件添加如下权限:rn n n n rn2、以下是封装的一个工具类,实现屏幕唤醒和熄灭rnrnrnpackage testWakeAndLock;nnimport android.content.Context;nimport android.os.PowerManager;nimport android.os.SystemClo
tp 双击唤醒 最终方案 实现流程
双击唤醒
Android中唤醒屏幕
Android用代码实现唤醒屏幕的代码(不是物理的电源键)。例如:闹铃时间到了唤醒屏幕
安卓手机来电亮屏流程分析
来电亮屏流程分析rn本文档是针对手机来电时候自主点亮屏幕这一流程的分析,很自然的就将其分为2个阶段,第一个是来电,第二个是点亮屏幕。rn来电的流程:rn来电消息是从RIL层接收到的,然后才开始传递上来。rnAT      : RING                             rnAT      : ATrnAT      : RIL_URC_READER:RING         
屏幕点亮和关闭广播监听
private void registerScreenActionReceiver(){ rn final IntentFilter filter = new IntentFilter(); rn filter.addAction(Intent.ACTION_SCREEN_OFF); rn filter.addAction(Intent.ACTION_SCREEN_ON);...
Android锁屏状态下点亮屏幕并弹窗提醒
类似于手机锁屏状态下QQ来消息然后点亮屏幕并弹窗,如图。 n n相信QQ的这个功能大家都是很熟悉的了,下面就开始讲具体的实现步骤。一、新建一个Activity并在OnCreate中添加四个标识 @Overriden protected void onCreate(Bundle savedInstanceState) {n super.onCreate(savedInstan
Unity 安卓环境下保持设备屏幕唤醒
我们都知道在游戏中都应该有保持屏幕唤醒这一功能,不然你的游戏在玩家的设备上难免会出现长时间不操作屏幕自动睡眠,这不论是对玩家而言是一大槽点,对游戏开发者而言也是一个低级错误。rn我们知道,在android开发中,只要在配置文件中加段代码就能保证屏幕长时间唤醒,那么在Unity开发中该如何实现,其实很简单,无需更改配置文件,只需要在脚本中加上这么一段代码:rnScreen.sleepTimeout
使用AlarmManager实现定时提醒,解决锁屏后无法正常唤醒CPU和屏幕的问题
之前写过一个demo来实现定时操作,最近帮别人写项目的时候又用到了这个需求,于是coding起来。n首先来说一下我的实现思路:用户选择好闹钟提醒时间后我要启动一个Service,在这个Service里面设置闹钟,通过闹钟直接打开一个Activity来显示提醒信息。我想要创建一个不在通知栏中显示notification的前台Service,这样就可以让Service一直运行了,除非你在手机的“最近任...
android系统休眠唤醒服务修改
此文档是结合MTK平台AC8321项目源码编写,结合8321平台源码阅读效果更佳。 n一、GPS 休眠失败修改 nframeworks\base\services\core\java\com\android\server\location\GpsLocationProvider.java nprivate final BroadcastReceiver mBroadcastReceiver = ne
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 小白如何学习大数据开发 小白如何学习区块链