android 闹钟响起时,按power键锁屏,会播放两声锁屏音

会发出两声锁屏音,是因为暗屏时Keyguard 上锁,之后在因为alarm activity 设有FLAG_DISMISS_KEYGUARD windowsParam, 因此keyguard 会再自动解锁,因此有上锁/解锁 两次的声音,這是Google AOSP 的design, 對比Google AOSP 的phone 也是會有兩聲,因此建議不需要修改。

修改:

alps\frameworks\base\packages\Keyguard\src\com\android\keyguard\KeyguardViewMediator.java

#1384 行左右:

mSuppressNextLockSound = false;

修改为:

if (authenticated) {

mSuppressNextLockSound = false;

} else {

mSuppressNextLockSound = true;

}

也就是非user手动解锁的情況,Suppress next Lock sound, 不发出解锁音。

时间: 2024-08-25 17:00:00

android 闹钟响起时,按power键锁屏,会播放两声锁屏音的相关文章

实现:编辑短信,按power键锁屏后,再点亮屏幕,进入的还是编辑短信界面,按返回键才会进入解锁界面。

描述:在编辑短信界面按电源键锁屏后,重新按电源键点亮屏幕,并没有进入到锁屏界面而是在编辑短信界面,此时短信界面悬浮与锁屏界面之上,这时按返回键关闭编辑短信界面,回到锁屏界面,是如何实现的呢,只需要在需要实现该功能的界面(Activity)中的onCreate()方法中setContentView()方法之前添加以下代码: // set this flag so this activity will stay in front of the keyguard int flags = WindowM

android 连接USB按power键锁屏2声锁屏音

alps\frameworks\base\packages\Keyguard\src\com\android\keyguard\KeyguardViewMediator.java #1384 行左右: ///M: [ALPS00827994] always to play sound for user to unlock keyguard mSuppressNextLockSound = false; 改动: ///M: [ALPS00827994] always to play sound f

android闹钟小案例之功能阐述

最近花了一个星期左右的时间做了一个小闹钟,现在回过头来进行总结下.刚开始接触这个案例,总体觉着没有太大的难度,都是一些基础知识的堆砌,可现实总比理想残酷啊,这几天下来,每天都会有意料之外的bug出现.在debug的过程中,深深体会到了百度一下和谷歌谷歌的用处,基本常见的问题都可以在这里得到提示甚至答案.这篇文章先来介绍下这个案例所实现的功能,接下来再用几遍文章记录所用到的知识点. 功能简介: 1.闹钟基本功能:和平时的闹钟一样,用户在界面选择闹钟响起的时间,到达所设定时间后执行相应的指定操作.

android闹钟小案例之知识点总结

上一篇文章对近期做的小闹钟做了功能阐述,现在来总结下整个开发过程中所用到的一些知识点: 1.TimePicker的监听 TimePicker控件是整个应用的核心,其它的操作都得基于对该控件的正确操控.对该控件的操作重要就是为其设置监听器,在监听事件中获取用户设置的时间. private Calendar calendar=Calendar.getInstance();//创建calendar对象 private class OnTimeChangedListenerImpl implements

Android 手动按power键上锁,没有锁屏提示音,无法恢复【单机必现】

测试步骤 [测试版本]T0606 [模块版本] NAVI锁屏:5.0.0.ck [测试步骤] 1.手动按power键上锁, [测试结果] 没有锁屏提示音,无法恢复[单机必现] [预期结果] 有提示音 [发生次数] 单机必现 从log可以找到 4321 05-25 16:58:23.779 886 32501 W SoundPool: sample 1 not READY 7641 05-25 16:58:33.879 886 32563 W SoundPool: sample 1 not REA

Android Framework层Power键关机流程(二,关机流程)

二,关机流程 从前一篇博文我们知道,当用户长按Power键时会弹出(关机.重新启动,飞行模式等选项)对话框,我们点击关机,则会弹出关机确认对话框.那么从选项对话框到关机确认对话框又是一个什么流程呢.以下我们在简单分析一下: showGlobalActionsDialog()-->showDialog()-->handleShow()-->createDialog()-->onPress()-->shutdown() PhoneWindowManager.java void s

Android Framework层Power键关机流程(一,Power长按键操作处理)

一:Android处理Power按键长按操作 在Framework层中,Android4.x对Power键(KeyEvent.KEYCODE_POWER)的操作,我们从PhoneWindowManager开始分析,在分析前我这里打印了该方法的堆栈调用信息.大家可以参考一下. public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) { ...... android.uti

Android KK开机按power键不能灭屏,须过会儿才能灭屏

这是Google issue,原生Android4.4都有此问题.流程是:AMS发出BOOT_COMPLETED,PowerManager收到BOOT_COMPLETED后check Boot animation是否完成,如果完成,就会将内部的成员mBootCompleted置为true,之后再按power键才会正常休眠. PowerManagerService.java在systemReady()方法中动态注册BootCompletedReceiver监听ACTION_BOOT_COMPLET

Android闹钟 AlarmManager的使用

Android闹钟 AlarmManager的使用 AlarmManager介绍 AlarmManager这个类提供对系统闹钟服务的访问接口. 你可以为你的应用设定一个在未来某个时间唤醒的功能. 当闹钟响起,实际上是系统发出了为这个闹钟注册的广播,会自动开启目标应用. 注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除. 在alarm的receiver的onReceive()方法被执行的时候,Alarm Manager持有一个CPU唤醒锁,